The following video subtype GUIDs are defined in the header file mfapi.h. To specify the subtype, set the MF_MT_SUBTYPE attribute on the media type.
Uncompressed RGB Formats
| GUID | Description |
| MFVideoFormat_RGB8 | RGB, 8 bits per pixel (bpp). (Same memory layout as D3DFMT_P8.) |
| MFVideoFormat_RGB555 | RGB 555, 16 bpp. (Same memory layout as D3DFMT_X1R5G5B5.) |
| MFVideoFormat_RGB565 | RGB 565, 16 bpp. (Same memory layout as D3DFMT_R5G6B5.) |
| MFVideoFormat_RGB24 | RGB, 24 bpp. |
| MFVideoFormat_RGB32 | RGB, 32 bpp. |
| MFVideoFormat_ARGB32 | RGB, 32 bpp with alpha channel. |
Note These subtypes do not match the RGB subtype GUIDs used in previous SDKs, such as DirectShow.
YUV Formats: 8-Bit and Palettized
| GUID | Format | Sampling | Packed or planar | Bits per channel |
| MFVideoFormat_AI44 | AI44 | 4:4:4 | Packed | Palettized |
| MFVideoFormat_AYUV | AYUV | 4:4:4 | Packed | 8 |
| MFVideoFormat_IYUV | IYUV | 4:2:0 | Planar | 8 |
| MFVideoFormat_NV11 | NV11 | 4:1:1 | Planar | 8 |
| MFVideoFormat_NV12 | NV12 | 4:2:0 | Planar | 8 |
| MFVideoFormat_UYVY | UYVY | 4:2:2 | Packed | 8 |
| MFVideoFormat_Y41P | Y41P | 4:1:1 | Packed | 8 |
| MFVideoFormat_Y41T | Y41T | 4:1:1 | Packed | 8 |
| MFVideoFormat_Y42T | Y42T | 4:2:2 | Packed | 8 |
| MFVideoFormat_YUY2 | YUY2 | 4:2:2 | Packed | 8 |
| MFVideoFormat_YV12 | YV12 | 4:2:0 | Planar | 8 |
The recommended YUV formats are described in detail in the topic Recommended 8-Bit YUV Formats for Video Rendering.
YUV Formats: 10-Bit and 16-Bit
| GUID | Format | Sampling | Packed or planar | Bits per channel |
| MFVideoFormat_P010 | P010 | 4:2:0 | Planar | 10 |
| MFVideoFormat_P016 | P016 | 4:2:0 | Planar | 16 |
| MFVideoFormat_P210 | P210 | 4:2:2 | Planar | 10 |
| MFVideoFormat_P216 | P216 | 4:2:2 | Planar | 16 |
| MFVideoFormat_v210 | v210 | 4:2:2 | Packed | 10 |
| MFVideoFormat_v216 | v216 | 4:2:2 | Packed | 16 |
| MFVideoFormat_v410 | v40 | 4:4:4 | Packed | 10 |
| MFVideoFormat_Y210 | Y210 | 4:2:2 | Packed | 10 |
| MFVideoFormat_Y216 | Y216 | 4:2:2 | Packed | 16 |
| MFVideoFormat_Y410 | Y40 | 4:4:4 | Packed | 10 |
| MFVideoFormat_Y416 | Y416 | 4:4:4 | Packed | 16 |
For more information about these formats, see 10-bit and 16-bit YUV Video Formats.
Encoded Video Types
| GUID | FOURCC | Description |
| MFVideoFormat_DV25 | 'dv25' | DVCPRO 25 (525-60 or 625-50). |
| MFVideoFormat_DV50 | 'dv50' | DVCPRO 50 (525-60 or 625-50). |
| MFVideoFormat_DVC | 'dvc ' | DVC/DV Video. |
| MFVideoFormat_DVH1 | 'dvh1' | DVCPRO 100 (1080/60i, 1080/50i, or 720/60P). |
| MFVideoFormat_DVHD | 'dvhd' | HD-DVCR (1125-60 or 1250-50). |
| MFVideoFormat_DVSD | 'dvsd' | SDL-DVCR (525-60 or 625-50). |
| MFVideoFormat_DVSL | 'dvsl' | SD-DVCR (525-60 or 625-50). |
| MFVideoFormat_H264 | 'H264' | H.264 video. |
| MFVideoFormat_M4S2 | 'M4S2' | MPEG-4 part 2 video. |
| MFVideoFormat_MJPG | 'MJPG' | Motion JPEG. |
| MFVideoFormat_MP43 | 'MP43' | Microsoft MPEG 4 codec version 3. This codec is no longer supported. |
| MFVideoFormat_MP4S | 'MP4S' | ISO MPEG 4 codec version 1. |
| MFVideoFormat_MP4V | 'MP4V' | MPEG-4 part 2 video. |
| MFVideoFormat_MPEG2 | n/a | MPEG-2 video. (Equivalent to MEDIASUBTYPE_MPEG2_VIDEO in DirectShow.) |
| MFVideoFormat_MPG1 | 'MPG1' | MPEG-1 video. |
| MFVideoFormat_MSS1 | 'MSS1' | Windows Media Screen codec version 1. |
| MFVideoFormat_MSS2 | 'MSS2' | Windows Media Video 9 Screen codec. |
| MFVideoFormat_WMV1 | 'WMV1' | Windows Media Video codec version 7. |
| MFVideoFormat_WMV2 | 'WMV2' | Windows Media Video 8 codec. |
| MFVideoFormat_WMV3 | 'WMV3' | Windows Media Video 9 codec. |
| MFVideoFormat_WVC1 | 'WVC1' | SMPTE 421M ("VC-1"). |
Creating Subtype GUIDs from FOURCCs and D3DFORMAT Values
Video formats are often represented by FOURCCs or D3DFORMAT values. A range of GUIDs is reserved for representing these values as subtypes. These GUIDs have the form XXXXXXXX-0000-0010-8000-00AA00389B71, where XXXXXXXX is the 4-byte FOURCC code or D3DFORMAT value.
If a video format has an associated FOURCC or D3DFORMAT value, you can create the corresponding subtype GUID as follows: Start with the constant MFVideoFormat_Base and replace the first DWORD of the GUID with the video FOURCC or the D3DFORMAT value. You can use the DEFINE_MEDIATYPE_GUID macro for this purpose.
Note DirectShow also uses this system for most video subtypes, but not for uncompressed RGB formats. Therefore, the RGB subtypes in DirectShow do not match the RGB subtypes in Media Foundation.
The D3DFORMAT enumeration is defined in the header file d3d9types.h. The following table shows the most common uncompressed RGB formats and the corresponding D3DFORMAT value.
| RGB format | D3DFORMAT value |
| 32-bit RGB | D3DFMT_X8R8G8B8 |
| 32-bit RGB with alpha channel | D3DFMT_A8R8G8B8 |
| 24-bit RGB | D3DFMT_R8G8B8 |
| RGB 555 (16-bit RGB) | D3DFMT_X1R5G5B5 |
| RGB 555 with alpha channel | D3DFMT_A4R4G4B4 |
| RGB 565 (16-bit RGB) | D3DFMT_R5G6B5 |
| 8-bit palettized RGB | D3DFMT_P8 |
| A2 R10 G10 B10 (32-bit RGB with alpha channel; 10 bits per RGB channel) | D3DFMT_A2R10G10B10 |
| A2 B10 G10 R10 (32-bit RGB with alpha channel; 10 bits per RGB channel) | D3DFMT_A2B10G10R10 |
For more information about FOURCCs, see Video FOURCCs.
See Also
- IMFMediaType
- Media Type GUIDs
- MF_MT_SUBTYPE
- Media Types
- Video Media Types
Send comments about this topic to Microsoft
Build date: 10/8/2009