Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Describes how chroma values are positioned relative to the luma samples in a YUV video frame. These flags are used in the DXVA2_ExtendedFormat structure.
Syntax
typedef enum _DXVA2_VideoChromaSubSampling {
DXVA2_VideoChromaSubsamplingMask = 0xf,
DXVA2_VideoChromaSubsampling_Unknown = 0,
DXVA2_VideoChromaSubsampling_ProgressiveChroma = 0x8,
DXVA2_VideoChromaSubsampling_Horizontally_Cosited = 0x4,
DXVA2_VideoChromaSubsampling_Vertically_Cosited = 0x2,
DXVA2_VideoChromaSubsampling_Vertically_AlignedChromaPlanes = 0x1,
DXVA2_VideoChromaSubsampling_MPEG2,
DXVA2_VideoChromaSubsampling_MPEG1,
DXVA2_VideoChromaSubsampling_DV_PAL,
DXVA2_VideoChromaSubsampling_Cosited
} DXVA2_VideoChromaSubSampling;
Constants
DXVA2_VideoChromaSubsamplingMask Value: 0xf Bitmask to validate flag values. This value is not a valid flag. |
DXVA2_VideoChromaSubsampling_Unknown Value: 0 Unknown encoding scheme. |
DXVA2_VideoChromaSubsampling_ProgressiveChroma Value: 0x8 Chroma should be reconstructed as if the underlying video was progressive content, rather than skipping fields or applying chroma filtering to minimize artifacts from reconstructing 4:2:0 interlaced chroma. |
DXVA2_VideoChromaSubsampling_Horizontally_Cosited Value: 0x4 Horizontally cosited. Chroma samples are aligned horizontally with multiples of the luma samples. If this flag is not set, chroma samples are located 1/2 pixel to the right of the corresponding luma samples. |
DXVA2_VideoChromaSubsampling_Vertically_Cosited Value: 0x2 Vertically cosited. Chroma samples are aligned vertically with multiples of the luma samples. If this flag is not set, chroma samples are located 1/2 pixel down from the corresponding luma samples. |
DXVA2_VideoChromaSubsampling_Vertically_AlignedChromaPlanes Value: 0x1 The chroma planes are vertically aligned. If this flag is not set, chroma planes are out of phase by 1/2 chroma sample, and the Cb and Cr samples are sited on alternate lines. |
DXVA2_VideoChromaSubsampling_MPEG2 Specifies the chroma encoding scheme for MPEG-2 video. Chroma samples are aligned horizontally with the luma samples, but are not aligned vertically. The U and V planes are aligned vertically. |
DXVA2_VideoChromaSubsampling_MPEG1 Specifies the chroma encoding scheme for MPEG-1 video. |
DXVA2_VideoChromaSubsampling_DV_PAL Specifies the chroma encoding scheme for PAL DV video. |
DXVA2_VideoChromaSubsampling_Cosited Horizontally and vertically cosited. Chroma samples are aligned vertically and horizontally with the luma samples. YUV formats such as 4:4:4, 4:2:2, and 4:1:1 are always cosited in both directions and should use this flag. |
Remarks
The following diagrams show the most common arrangements.
4:4:4 horizontally and vertically cosited.

4:2:2 horizontally and vertically cosited.

4:1:1 horizontally and vertically cosited.

4:2:0 progressive, horizontally cosited.

4:2:0 progressive, not cosited horizontally or vertically.

4:2:0 interlaced, vertically cosited; chroma planes out of phase.

4:2:0 interlaced, horizontally cosited.

This enumeration is equivalent to the DXVA_VideoChromaSubsampling enumeration used in DXVA 1.0.
If you are using the IMFMediaType interface to describe the video format, chroma siting is specified in the MF_MT_VIDEO_CHROMA_SITING attribute.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Windows Vista [desktop apps only] |
Minimum supported server | Windows Server 2008 [desktop apps only] |
Header | dxva2api.h |