Export (0) Print
Expand All

Video Subtype GUIDs

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.

When these subtypes are used, set the MF_MT_MAJOR_TYPE attribute to MFMediaType_Video.

Uncompressed RGB Formats

GUIDDescription
MFVideoFormat_RGB8RGB, 8 bits per pixel (bpp). (Same memory layout as D3DFMT_P8.)
MFVideoFormat_RGB555RGB 555, 16 bpp. (Same memory layout as D3DFMT_X1R5G5B5.)
MFVideoFormat_RGB565RGB 565, 16 bpp. (Same memory layout as D3DFMT_R5G6B5.)
MFVideoFormat_RGB24RGB, 24 bpp.
MFVideoFormat_RGB32RGB, 32 bpp.
MFVideoFormat_ARGB32RGB, 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

GUIDFormatSamplingPacked or planarBits per channel
MFVideoFormat_AI44AI444:4:4PackedPalettized
MFVideoFormat_AYUVAYUV4:4:4Packed8
MFVideoFormat_I420 I4204:2:0Planar8
MFVideoFormat_IYUVIYUV4:2:0Planar8
MFVideoFormat_NV11NV114:1:1Planar8
MFVideoFormat_NV12NV124:2:0Planar8
MFVideoFormat_UYVYUYVY4:2:2Packed8
MFVideoFormat_Y41PY41P4:1:1Packed8
MFVideoFormat_Y41TY41T4:1:1Packed8
MFVideoFormat_Y42TY42T4:2:2Packed8
MFVideoFormat_YUY2YUY24:2:2Packed8
MFVideoFormat_YV12YV124:2:0Planar8

 

The recommended YUV formats are described in detail in the topic Recommended 8-Bit YUV Formats for Video Rendering.

Note  I420 and IYUV have the same layout in memory, but are assigned distinct subtype GUIDs. The subtype GUIDs correspond to the FOURCC codes 'I420' and 'IYUV'; see Video FOURCCs for more information.

YUV Formats: 10-Bit and 16-Bit

GUIDFormatSamplingPacked or planarBits per channel
MFVideoFormat_P010P0104:2:0Planar10
MFVideoFormat_P016P0164:2:0Planar16
MFVideoFormat_P210P2104:2:2Planar10
MFVideoFormat_P216P2164:2:2Planar16
MFVideoFormat_v210v2104:2:2Packed10
MFVideoFormat_v216v2164:2:2Packed16
MFVideoFormat_v410v404:4:4Packed10
MFVideoFormat_Y210Y2104:2:2Packed10
MFVideoFormat_Y216Y2164:2:2Packed16
MFVideoFormat_Y410Y404:4:4Packed10
MFVideoFormat_Y416Y4164:4:4Packed16

 

For more information about these formats, see 10-bit and 16-bit YUV Video Formats.

Encoded Video Types

GUIDFOURCCDescription
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_H263'H263'H.263 video.
MFVideoFormat_H264'H264'

H.264 video.

Media samples contain H.264 bitstream data with start codes and has interleaved SPS/PPS. Each sample contains one complete picture, either one field or one frame.

MFVideoFormat_H264_ESNot applicable

H.264 elementary stream.

This media type is the same as MFVideoFormat_H264, except media samples contain a fragmented H.264 bitstream. Each sample may contain a partial picture; multiple complete pictures; or one or more complete pictures plus a partial picture.

MFVideoFormat_HEVC'HEVC'

The HEVC Main profile and Main Still Picture profile.

Each sample contains one complete picture.

Supported in Windows 8.1 and later. The HEVC Main profile and Main Still Picture profile elementary stream.

MFVideoFormat_HEVC_ES'HEVS'

This media type is the same as MFVideoFormat_HEVC, except media samples contain a fragmented HEVC bitstream. Each sample may contain a partial picture; multiple complete pictures; or one or more complete pictures plus a partial picture.

Supported in Windows 8.1 and later.

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_MPEG2Not applicableMPEG-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").
MFVideoFormat_420O'420O'8-bit per channel planar YUV 4:2:0 video.

 

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 formatD3DFORMAT value
32-bit RGBD3DFMT_X8R8G8B8
32-bit RGB with alpha channelD3DFMT_A8R8G8B8
24-bit RGBD3DFMT_R8G8B8
RGB 555 (16-bit RGB)D3DFMT_X1R5G5B5
RGB 555 with alpha channelD3DFMT_A4R4G4B4
RGB 565 (16-bit RGB)D3DFMT_R5G6B5
8-bit palettized RGBD3DFMT_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.

Related topics

IMFMediaType
Media Type GUIDs
MF_MT_SUBTYPE
Media Types
Video Media Types

 

 

Community Additions

ADD
Show:
© 2014 Microsoft