VP9 vs AV1: libvpx-vp9 vs libaom-av1 Performance
This article compares the current encoding performance of the
established libvpx-vp9 encoder against the newer
libaom-av1 reference encoder. It analyzes key metrics
including compression efficiency, encoding speed, resource consumption,
and device compatibility to help you determine which encoder is best
suited for your video distribution workflow.
Compression Efficiency
The libaom-av1 encoder delivers superior compression
efficiency compared to libvpx-vp9. On average, AV1 achieves
a 20% to 30% bitrate reduction over VP9 while maintaining the exact same
visual quality (VMAF/SSIM). This efficiency gap is most noticeable at
higher resolutions, such as 4K and 8K, and in high-dynamic-range (HDR)
content, where AV1’s advanced coding tools—such as larger block sizes
(up to 128x128) and improved intra-prediction—can be fully utilized.
Encoding Speed and CPU Utilization
While libaom-av1 wins on compression,
libvpx-vp9 is significantly faster and requires much less
computational power.
- libvpx-vp9: This encoder is highly optimized and mature. It can easily achieve real-time encoding on modest multi-core consumer hardware, making it ideal for live streaming and rapid video-on-demand (VOD) processing.
- libaom-av1: Historically notoriously slow,
libaomhas received massive speed optimizations in recent years. Using modern speed presets (e.g., CPU-used 4 to 6), it can now achieve reasonable encoding times. However, for high-quality multi-pass VOD encoding,libaom-av1still demands up to 2 to 5 times more CPU resources and time thanlibvpx-vp9to achieve its optimal compression gains.
Hardware and Playback Support
Compatibility is a critical differentiator when choosing between these two encoders.
- VP9 (libvpx): VP9 has near-universal hardware decoding support. It is supported by almost all modern web browsers (including Safari, Chrome, and Firefox), Android devices, smart TVs, and older computers. Decoding is computationally lightweight, preserving battery life on mobile devices.
- AV1 (libaom): AV1 hardware decoding support is
growing rapidly but is not yet universal. It is supported by modern GPUs
(Nvidia RTX 30/40 series, AMD RX 6000/7000 series, Intel Arc) and newer
mobile chipsets (Apple A17 Pro/M3 and newer, flagship
Snapdragon/Dimensity chips). On older devices lacking dedicated hardware
decoders, AV1 must be decoded via software (using libraries like
dav1d), which increases CPU usage and battery drain.
Summary: When to Use Which Encoder
- Choose libvpx-vp9 if: You require fast encoding turnarounds, have limited computational budgets, or need to target older legacy devices without consuming excessive battery life during playback.
- Choose libaom-av1 if: Saving bandwidth is your highest priority, you are targeting newer playback devices, and you have the budget or time for longer, more CPU-intensive encoding passes.