YUV Video Subtypes

YUV formats are categorized according to the following information:

Packed formats versus planar formats. In a packed format, the Y, U, and V components are stored in a single array. Pixels are organized into groups of macropixels, whose layout depends on the format. In a planar format, the Y, U, and V components are stored separately, as three planes.

Chroma sampling. A notation called the A:B:C notation is used to describe how often U and V are sampled relative to Y:

  • 4:4:4 means no downsampling of the chroma channels.
  • 4:2:2 means 2:1 horizontal downsampling, with no vertical downsampling. Every scan line contains four Y samples for every two U or V samples.
  • 4:2:0 means 2:1 horizontal downsampling, with 2:1 vertical downsampling.
  • 4:1:1 means 4:1 horizontal downsampling, with no vertical downsampling. Every scan line contains four Y samples for every U or V sample. 4:1:1 sampling is less common than other formats, and is not discussed in detail in this article.

Bits per channel. The most common sample sizes are 8, 10, or 16 bits per sample. Some YUV formats are palettized.

Memory layout. Two YUV format types can be otherwise identical but use different orderings for the Y, V, and U samples in memory.

Recommended YUV Formats

GUID Format Sampling Packed or planar Bits per channel
MEDIASUBTYPE_AYUVAYUV4:4:4Packed8
MEDIASUBTYPE_YUY2YUY24:2:2Packed8
MEDIASUBTYPE_UYVYUYVY4:2:2Packed8
MEDIASUBTYPE_IMC1IMC14:2:0Planar8
MEDIASUBTYPE_IMC3IMC24:2:0Planar8
MEDIASUBTYPE_IMC2IMC34:2:0Planar8
MEDIASUBTYPE_IMC4IMC44:2:0Planar8
MEDIASUBTYPE_YV12YV124:2:0Planar8
MEDIASUBTYPE_NV12NV124:2:0Planar8

 

For a description of theses YUV formats for video rendering on Windows, see Recommended 8-Bit YUV Formats for Video Rendering .

Other YUV Format Types

GUID Format Sampling Packed or planar Bits per channel
MEDIASUBTYPE_I420I4204:2:0Planar8
MEDIASUBTYPE_IF09

No longer supported.

Indeo YVU9

No longer supported.

See remarks.

No longer supported.

Planar

No longer supported.

8

MEDIASUBTYPE_IYUVIYUV4:2:0Planar8
MEDIASUBTYPE_Y211Y211See remarks.Packed8
MEDIASUBTYPE_Y411Y4114:1:1Packed8
MEDIASUBTYPE_Y41PY41P4:1:1Packed8
MEDIASUBTYPE_YVU9YVU9See remarks.Planar8
MEDIASUBTYPE_YVYUYVYU4:2:2Packed8

 

  • I420 consists of a Y plane, followed by a U plane, followed by a V plane.
  • IYUV is identical to I420.
  • Y211 is a packed format, in which Y is sampled every 2 pixels horizontally, and U and V are sampled every 4 pixels horizontally. Each macropixel is 4 bytes and contains 4 pixels. It uses the following byte order:

    Y0 U0 Y2 V0    Y4 U4 Y6 V4    Y8 U8 Y10 V8

  • Y41P is a 4:1:1 packed format. It uses the following byte order:

    U0 Y0 V0 Y1    U4 Y2 V4 Y3    Y4 Y5 Y6 Y7

  • YVU9 is a planar format, in which U and V are sampled every 4 pixels horizontally and vertically (sometimes referred to as 16:1:1). The V plane appears before the U plane.
  • The Indeo YVU9 format (MEDIASUBTYPE_IF09) is a variation of YVU9 with additional delta-frame information after the U plane. The Indeo codec is no longer supported in Windows.
  • YVYU is similar to UYVY with a different byte order: Y0 V0 Y1 U0

  • The Indeo codec is no longer supported in Windows.

Requirements

Header

Dshow.h

See also

Recommended 8-Bit YUV Formats for Video Rendering
Video Subtypes
Working with Video Frames

 

 

Show: