MFVideoChromaSubsampling Enumeration

Contains flags that define the chroma encoding scheme for Y’Cb’Cr’ data.

Syntax

typedef enum _MFVideoChromaSubsampling
{
    MFVideoChromaSubsampling_Unknown = 0,
    MFVideoChromaSubsampling_ProgressiveChroma = 0x8,
    MFVideoChromaSubsampling_Horizontally_Cosited = 0x4,
    MFVideoChromaSubsampling_Vertically_Cosited = 0x2,
    MFVideoChromaSubsampling_Vertically_AlignedChromaPlanes = 0x1,
    MFVideoChromaSubsampling_MPEG2 = (MFVideoChromaSubsampling_Horizontally_Cosited|MFVideoChromaSubsampling_Vertically_AlignedChromaPlanes),
    MFVideoChromaSubsampling_MPEG1 = MFVideoChromaSubsampling_Vertically_AlignedChromaPlanes,
    MFVideoChromaSubsampling_DV_PAL = (MFVideoChromaSubsampling_Horizontally_Cosited|MFVideoChromaSubsampling_Vertically_Cosited),
    MFVideoChromaSubsampling_Cosited = ((MFVideoChromaSubsampling_Horizontally_Cosited|MFVideoChromaSubsampling_Vertically_Cosited)|MFVideoChromaSubsampling_Vertically_AlignedChromaPlanes),
    MFVideoChromaSubsampling_Last = (MFVideoChromaSubsampling_Cosited+1),
    MFVideoChromaSubsampling_ForceDWORD = 0x7fffffff
} MFVideoChromaSubsampling;  

Constants

Constant Description
MFVideoChromaSubsampling_Unknown Unknown encoding scheme.
MFVideoChromaSubsampling_ProgressiveChroma 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.
MFVideoChromaSubsampling_Horizontally_Cosited Chroma samples are aligned horizontally with the luma samples, or 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 sample.
MFVideoChromaSubsampling_Vertically_Cosited Chroma samples are aligned vertically with the luma samples, or with multiples of the luma samples. If this flag is not set, chroma samples are located 1/2 pixel down from the corresponding luma sample.
MFVideoChromaSubsampling_Vertically_AlignedChromaPlanes The U and V planes are aligned vertically. If this flag is not set, the chroma planes are assumed to be out of phase by 1/2 chroma sample, alternating between a line of U followed by a line of V.
MFVideoChromaSubsampling_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.
MFVideoChromaSubsampling_MPEG1 Specifies the chroma encoding scheme for MPEG-1 video.
MFVideoChromaSubsampling_DV_PAL Specifies the chroma encoding scheme for PAL DV video.
MFVideoChromaSubsampling_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.
MFVideoChromaSubsampling_Last Reserved.
MFVideoChromaSubsampling_ForceDWORD Reserved. This member forces the enumeration type to compile as a DWORD value.

Remarks

These flags are used with the MF_MT_VIDEO_CHROMA_SITING attribute.

For more information about these values, see the remarks for the DXVA2_VideoChromaSubSampling enumeration, which is the DirectX Video Acceleration (DXVA) equivalent of this enumeration.

Requirements

Header: Declared in mfobjects.h.