Global Brand, Local Voices: A Practical Guide
Video Codecs

What is VP9? Google's Open Video Codec Explained

VP9 is Google's royalty-free video codec and YouTube's workhorse. Learn how VP9 compression works, how it compares to H.264 and AV1, and how Videospan uses it.

VP9 is an open, royalty-free video codec developed by Google as the successor to VP8 and finalized in 2013. It delivers roughly 50% better compression than H.264 at equivalent quality—competitive with HEVC without the patent royalties—and it has been YouTube's primary codec since 2015, serving billions of streams a day. New deployments increasingly target its successor, AV1, but VP9 remains deeply embedded in the web video ecosystem.

VP9 has a particular significance for our platform: it is the codec of the browser-recording world our remote capture is built on. When a contributor records a video message in Chrome or Firefox, the browser hands us VP9 video in a WebM container—and the pipeline documented across this library takes it from there.

How VP9 works

VP9 follows the same hybrid pipeline as its MPEG counterparts, with design choices inherited from the VPx lineage.

Superblocks. Frames are divided into 64×64 superblocks, recursively partitioned by a quadtree down to 4×4 blocks. Larger blocks than H.264's 16×16 macroblocks are central to VP9's efficiency on high-resolution content.

Intra prediction. VP9 offers 10 intra modes: eight directional predictors, a DC predictor, and the TrueMotion (TM) predictor inherited from VP8—fewer modes than HEVC's 35, but cheaper to signal and decode.

Inter prediction. Motion compensation uses eighth-pixel precision with switchable interpolation filters, and each block can reference up to three of eight stored reference frames. Compound prediction averages two references. A distinctive trick, frame super-resolution, lets the encoder code a frame at lower resolution and have the decoder upscale it before display—an early form of the resolution-switching now common in adaptive streaming.

Transform and quantization. Residuals use DCT or ADST transforms sized 4×4 to 32×32, selected per block. Quantized coefficients are scanned adaptively and compressed by a boolean arithmetic coder whose probabilities update continuously as the frame decodes.

Loop filtering. A single adaptive loop filter smooths block edges, with strength signaled per frame and adjustable per segment.

Segmentation and tiles. Frames can be split into up to eight segments with independent quantization and filter settings—useful for spending bits on faces and saving them on backgrounds. Tiles enable multi-threaded encoding and decoding.

Profiles. Profile 0 is 8-bit 4:2:0; Profile 1 adds 4:2:2 and 4:4:4; Profiles 2 and 3 extend to 10- and 12-bit, with Profile 2 (10-bit 4:2:0) carrying VP9's HDR content on YouTube.

Key features

  • Royalty-free and open. Google released the spec and the libvpx reference implementation under a BSD-style license with a patent grant, which is why browser vendors shipped it freely.
  • HEVC-class compression without HEVC licensing—about half of H.264's bitrate at equal quality.
  • YouTube-scale validation. VP9 has carried the majority of YouTube watch time for years, meaning its encoder and decoder are among the most battle-tested software in video.
  • WebM pairing. VP9 is the canonical video codec of the WebM container, the open counterpart to MP4.
  • HDR support via Profile 2, used for YouTube's HDR catalog before AV1 took over.

How Videospan uses VP9

VP9's biggest role in our platform is upstream of delivery: it is part of the browser-recording world our remote capture is built on. When someone records a video message in Chrome or Firefox, the browser's built-in recorder typically produces a WebM file carrying VP9 (or its predecessor VP8) video—no camera crew, no special hardware, just a link and a browser tab.

  • Browser-based recording. Our remote recording flow meets contributors where they are. VP9 in WebM is what browsers capture natively, so an executive recording from a laptop anywhere in the world produces high-quality source we can work with immediately.
  • Transcoded into the pipeline. Browser captures don't stay WebM. We transcode them into the same studio-grade masters and universal H.264 exports as every other source, applying brand kits, bumpers, and edits along the way.
  • Proven, boring reliability. A decade of YouTube-scale validation means VP9 support is dependable across the Chrome, Firefox, Edge, and Android fleet where contributors and viewers live.

VP9 vs H.264, HEVC, and AV1

H.264 / AVCHEVC / H.265VP9AV1
Year finalized2003201320132018
StewardITU-T / MPEGITU-T / MPEGGoogleAlliance for Open Media
Block structure16×16 macroblocksCTUs up to 64×64Superblocks up to 64×64Superblocks up to 128×128
Compression vs H.264Baseline~50% fewer bits~50% fewer bits~65–70% fewer bits
Encoding costLowHighHighVery high (SVT-AV1 mitigates)
Hardware decodeUniversalWidespread since ~2015Broad (Android, TVs, most GPUs)Growing since 2020
Browser supportUniversalPartialChrome, Firefox, Edge; Safari 14+Chrome, Firefox, Edge, Safari 16.4+
LicensingRoyaltiesRoyalties, multiple poolsRoyalty-freeRoyalty-free

Advantages

  • HEVC-comparable efficiency with zero royalties and no licensing paperwork
  • Excellent browser support across Chrome, Firefox, and Edge, plus Android hardware decode going back years
  • Mature, well-documented encoder (libvpx) with real-time modes and row-based multithreading
  • Proven at planetary scale by YouTube, including HDR and 4K

Limitations

  • Superseded by AV1, which beats it by roughly 20–30% at equal quality—Google itself now prioritizes AV1 for YouTube
  • Encoding is significantly slower than x264 at comparable quality targets
  • Historically absent from Apple's ecosystem; Safari added VP9 only in 2020 and largely via software decoding, so battery life suffers on Apple devices
  • Less efficient than HEVC on some high-motion content, and its ecosystem outside web browsers is thin

When to use VP9

Use VP9 when you need royalty-free delivery to Chrome, Firefox, Edge, and Android—for example, WebM renditions in an HTML5 player, or HDR content targeting YouTube-style audiences—without HEVC's licensing exposure. For brand-new pipelines, evaluate AV1 first: it is VP9's direct successor with better compression and a hardware trajectory VP9 never achieved. VP9 still earns its place as a fallback tier and wherever an existing WebM workflow is already working.

What to ask a platform vendor: if your team records people remotely, ask what format the browser actually captures and what happens to it next. The answer should be a clean path from WebM/VP9 capture to universally playable exports—if a vendor hands you raw WebM files and wishes you luck, that isn't a pipeline.

A standard VP9 encode with ffmpeg:

ffmpeg -i in.mov -c:v libvpx-vp9 -crf 32 -b:v 0 -row-mt 1 -pix_fmt yuv420p -c:a libopus -b:a 128k out.webm

-b:v 0 with -crf enables constant-quality mode, and -row-mt 1 turns on row-based multithreading—without it, libvpx barely uses available cores. VP9 CRF values sit higher than x264's for equivalent quality; 28–36 is the usual delivery range.

Glossary

Superblock

VP9's top-level 64×64 processing unit, recursively partitioned by a quadtree down to 4×4 blocks.

WebM

The open, Matroska-derived container format that pairs VP9 (or AV1) video with Vorbis or Opus audio; the open alternative to MP4.

libvpx

Google's BSD-licensed reference encoder/decoder library for VP8 and VP9, used by ffmpeg and most VP9 tooling.

Profile

A VP9 configuration tier: Profile 0 is 8-bit 4:2:0, Profile 2 is 10-bit 4:2:0 and carries HDR content.

Frame super-resolution

A VP9 feature that codes frames at reduced resolution and upscales them in the decoder, saving bits while preserving display size.

Segmentation

Dividing a frame into up to eight regions with independent quantization and filtering parameters.

Boolean arithmetic coder

VP9's entropy coder, which adaptively updates symbol probabilities as the bitstream is decoded.

TrueMotion

A non-directional intra prediction mode inherited from VP8 that predicts gradients from neighboring samples.

Frequently asked questions