Contains flags that define the chroma encoding scheme for Y’Cb’Cr’ data.
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;
| 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. |
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.
Header: Declared in mfobjects.h.