VP9

On this page 7

VP9 is an open, royalty-free video compression format developed by Google and finalized in 2013 as the successor to VP8. Among video codecs, it targets the same efficiency class as H.265, delivering substantially smaller files than H.264 at comparable visual quality, and it is most closely associated with web streaming.

VP9 is usually carried in the WebM container, which is based on Matroska, although it can also be stored in MP4. Its design strongly influenced AV1, which later superseded it as the main open codec for new deployments.

How VP9 compresses video

VP9 is a block-based hybrid codec, like H.264 and H.265. Each frame is divided into blocks, each block is predicted from already decoded pixels, and only the prediction residual is transformed, quantized and entropy coded. The decoder repeats the same prediction and adds the decoded residual to reconstruct the image.

Its main tools differ from H.264 in scale and flexibility. Frames are split into 64×64 superblocks, which are recursively partitioned down to 4×4 blocks so that flat areas use large blocks and detailed areas use small ones. Residuals are transformed with DCT and ADST transforms from 4×4 up to 32×32, and an in-loop deblocking filter smooths block edges before frames are used as references.

Inter prediction uses up to three active reference frames selected from a pool of eight stored frames, with motion vectors at one-eighth pixel precision. VP9 also supports hidden alternate reference frames, which are encoded and used for prediction but never displayed, giving the encoder a high-quality anchor for the surrounding frames.

VP9 profiles and key parameters

VP9 defines four profiles that set the bit depth and chroma subsampling a decoder must handle. The profile matters most for HDR and professional use, because 8-bit decoders cannot play 10-bit streams.

ProfileBit depthChroma subsamplingTypical use
Profile 08-bit4:2:0Standard web streaming
Profile 18-bit4:2:2, 4:4:0, 4:4:4Screen content and higher chroma detail
Profile 210-bit or 12-bit4:2:0HDR streaming
Profile 310-bit or 12-bit4:2:2, 4:4:0, 4:4:4Rare professional workflows
VP9 profiles

Encoder settings control the trade-off between file size, quality and speed. The reference encoder offers several rate control modes, and the table below summarizes the parameters that most often affect results.

ParameterWhat it controlsPractical guidance
Rate control modeConstant quality, constrained quality, VBR or CBRConstant quality for files, CBR for live
Quality valueQuantizer target, roughly 0 to 63Lower values give higher quality and larger files
Speed or cpu-usedEncoder search effortSlow settings for on-demand, fast settings for real time
Two-pass encodingAnalysis before final encodeImproves bitrate distribution for on-demand video
TilesParallel encoding and decoding regionsUseful for high resolutions and multicore decoding
Keyframe intervalMaximum distance between keyframesOften a few seconds for adaptive streaming
Important VP9 encoding parameters

VP9 compared with H.264, H.265 and AV1

VP9 sits between H.264 and AV1 in the generational order of delivery codecs. Its compression efficiency is broadly comparable to H.265, while its licensing model is closer to AV1, which explains its strong adoption on the web and weaker adoption in broadcast.

CodecLicensingRelative efficiencyMain strength
H.264Patent pools, royaltiesBaselineUniversal hardware support
VP9Royalty-freeMuch better than H.264Web streaming and browsers
H.265Multiple patent poolsSimilar to VP9Broadcast, devices, HDR ecosystems
AV1Royalty-freeBetter than VP9Next-generation streaming
VP9 and neighboring delivery codecs

Efficiency comparisons depend heavily on the encoder implementation and settings, not only on the format. A carefully tuned VP9 encode can outperform a fast H.265 encode, so published gains should be read as ranges rather than fixed percentages.

Where VP9 is used

VP9 became a mainstream format for large video platforms that serve browsers and Android devices, because it reduced bandwidth without license fees. It is also a standard option in WebRTC, where its support for scalable coding helps conferencing servers send different quality layers to different participants.

ScenarioIs VP9 a good fitReason
Adaptive web streaming to browsersYesWide browser support and lower bitrates than H.264
Video conferencing in WebRTCYesScalable coding and royalty-free use
Older smart TVs and set-top boxesSometimesHardware decoding is not universal
Professional editing and masteringNoLong-GOP delivery codec, not an intermediate
New services targeting modern devicesConsider AV1 firstBetter efficiency where hardware support exists
Choosing VP9 for a delivery scenario

Services usually deploy VP9 as one rung in a multi-codec ladder, alongside H.264 for maximum compatibility and AV1 for the newest devices, and the player selects the best codec the device can decode efficiently.

Limitations and common mistakes

VP9’s main weakness is encoding cost. High-quality settings in the reference encoder are considerably slower than common H.264 encoders, which matters for large libraries and live production.

  • Assuming hardware decoding exists on every target device, which can lead to high battery use or dropped frames.
  • Using single-pass constant bitrate for on-demand files, which wastes bits on easy scenes and starves complex ones.
  • Choosing Profile 0 for HDR, which cannot carry the required 10-bit signal.
  • Editing VP9 directly, since long GOP structures make scrubbing slow; transcode to an intermediate codec first.
  • Ignoring tile settings at 4K, which can limit multicore decoding performance.

A plain-language summary

VP9 is a method for shrinking video files so they can stream smoothly over the internet. It works by noticing what stays the same from one moment to the next and storing only the changes, much like describing a scene once and then only noting what moved.

Compared with the older and very common H.264 format, VP9 can deliver similar picture quality with noticeably less data. It is also free to use without license fees, which is why many websites adopted it for playback in web browsers.

An example from practice

An online education company streams thousands of hours of lecture video and wants to cut its bandwidth bill without lowering quality. Its existing ladder uses only H.264, from 360p up to 1080p.

The engineering team adds a parallel VP9 ladder encoded with two-pass constrained quality, keyframes every two seconds and tiles enabled for the 1080p rung. Browsers that support VP9 receive it automatically, while older devices continue to receive H.264.

After quality checks with objective metrics and viewing tests, the team finds that VP9 renditions reach similar visual quality at noticeably lower bitrates for most lectures, especially screen recordings with static slides. The trade-off is longer encoding time, which they handle by encoding new uploads overnight.