VP9 Chroma Subsampling Formats Supported by libvpx
This article outlines the specific chroma subsampling formats fully
supported by the libvpx-vp9 encoder. We will examine how
different VP9 profiles enable support for 4:2:0, 4:2:2, and 4:4:4 chroma
subsampling, along with their respective pixel depths, helping you
configure your video encoding pipeline correctly.
The libvpx-vp9 encoder, the reference software encoder
for the VP9 video coding format, fully supports four primary chroma
subsampling configurations. These configurations are mapped across four
different VP9 profiles (Profile 0 to Profile 3) and support 8-bit,
10-bit, and 12-bit color depths.
Supported Chroma Subsampling Formats
1. 4:2:0 Subsampling
This is the standard format used for consumer video, web streaming,
and digital TV. It discards half of the vertical and horizontal color
information to save bandwidth while maintaining high perceived visual
quality. * VP9 Profiles: Profile 0 (8-bit) and Profile
2 (10-bit / 12-bit). * FFmpeg Pixel Formats:
yuv420p (8-bit), yuv420p10le (10-bit), and
yuv420p12le (12-bit).
2. 4:2:2 Subsampling
Commonly used in professional video production, editing, and
broadcasting. It retains full vertical color resolution but halves the
horizontal color resolution, which helps reduce color bleeding on sharp
edges. * VP9 Profiles: Profile 1 (8-bit) and Profile 3
(10-bit / 12-bit). * FFmpeg Pixel Formats:
yuv422p (8-bit), yuv422p10le (10-bit), and
yuv422p12le (12-bit).
3. 4:4:4 Subsampling
This format retains full color resolution both horizontally and
vertically with no chroma subsampling applied. It is ideal for screen
recordings, video game footage, graphics-heavy content, and
high-fidelity archiving. * VP9 Profiles: Profile 1
(8-bit) and Profile 3 (10-bit / 12-bit). * FFmpeg Pixel
Formats: yuv444p (8-bit), yuv444p10le
(10-bit), and yuv444p12le (12-bit).
4. 4:0:0 (Monochrome)
Used for grayscale video delivery where color data is completely
omitted. * VP9 Profiles: Profile 0 (8-bit). *
FFmpeg Pixel Format: yuv400p.
Summary of VP9 Profile Support
To ensure successful encoding, the chosen chroma subsampling and bit depth must align with the correct VP9 profile:
| VP9 Profile | Bit Depth | Supported Chroma Subsampling |
|---|---|---|
| Profile 0 | 8-bit | 4:2:0, 4:0:0 |
| Profile 1 | 8-bit | 4:2:2, 4:4:4 |
| Profile 2 | 10-bit / 12-bit | 4:2:0 |
| Profile 3 | 10-bit / 12-bit | 4:2:2, 4:4:4 |