影片子類型 GUID

下列影片子類型 GUID 定義于標頭檔 mfapi.h 中。 若要指定子類型,請在媒體類型上設定 MF_MT_SUBTYPE 屬性。

使用這些子類型時,請將 MF_MT_MAJOR_TYPE 屬性設定為 MFMediaType_Video

未壓縮的 RGB 格式

GUID 描述
MFVideoFormat_RGB8 RGB,每個圖元 8 位 (bpp) 。 (與 D3DFMT_P8.) 相同的記憶體配置
MFVideoFormat_RGB555 RGB 555、16 bpp。 (與 D3DFMT_X1R5G5B5.) 相同的記憶體配置
MFVideoFormat_RGB565 RGB 565、16 bpp。 (與 D3DFMT_R5G6B5.) 相同的記憶體配置
MFVideoFormat_RGB24 RGB,24 bpp。
MFVideoFormat_RGB32 RGB,32 bpp。
MFVideoFormat_ARGB32 RGB,32 bpp 搭配 Alpha 色板。
MFVideoFormat_A2R10G10B10 RGB,每個色彩為 10 bpp,2 個 bpp 用於 Alpha。 (與D3DFMT_A2B10G10R10相同的記憶體配置)
MFVideoFormat_A16B16G16R16F RGB,16 bpp 搭配 Alpha 色板。 (與 D3DFMT_A16B16G16R16F 相同的記憶體配置)

 

注意

這些子類型不符合先前 SDK 中使用的 RGB 子類型 GUID,例如 DirectShow。

 

YUV 格式:8 位和 Palettized

GUID 格式 取樣 已封裝或平面 每個通道的位數
MFVideoFormat_AI44 AI44 4:4:4 Packed Palettized
MFVideoFormat_AYUV AYUV 4:4:4 Packed 8
MFVideoFormat_I420 I420 4:2:0 平面 8
MFVideoFormat_IYUV IYUV 4:2:0 平面 8
MFVideoFormat_NV11 NV11 4:1:1 平面 8
MFVideoFormat_NV12 NV12 4:2:0 平面 8
MFVideoFormat_NV21 NV21 4:2:0 平面 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_YVU9 YVU9 8:4:4 平面 9
MFVideoFormat_YV12 YV12 4:2:0 平面 8
MFVideoFormat_YVYU YVYU 4:2:2 Packed 8

 

建議的 YUV 格式會在建議 的 8 位 YUV 格式的視訊轉譯主題中詳細說明。

注意

I420 和 IYUV 在記憶體中具有相同的配置,但會指派不同的子類型 GUID。 子類型 GUID 會對應到 FOURCC 代碼 'I420' 和 'IYUV';如需詳細資訊,請參閱 VIDEO FOURC

 

YUV 格式:10 位和 16 位

GUID 格式 取樣 已封裝或平面 每個通道的位數
MFVideoFormat_P010 P010 4:2:0 平面 10
MFVideoFormat_P016 P016 4:2:0 平面 16
MFVideoFormat_P210 P210 4:2:2 平面 10
MFVideoFormat_P216 P216 4:2:2 平面 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

 

如需這些格式的詳細資訊,請參閱 10 位和 16 位 YUV 視訊格式

亮度和深度格式

GUID 描述
MFVideoFormat_L8 僅限 8 位亮度。 (bpp) 。 (與 D3DFMT_L8.) 相同的記憶體配置
MFVideoFormat_L16 僅限 16 位亮度。 (與 D3DFMT_L16.) 相同的記憶體配置
MFVideoFormat_D16 16 位 z 緩衝區深度。 (與 D3DFMT_D16.) 相同的記憶體配置

 

編碼的視訊類型

GUID FOURCC 描述
MFVideoFormat_DV25 'dv25' DVCPRO 25 (525-60 或 625-50) 。
MFVideoFormat_DV50 'dv50' DVCPRO 50 (525-60 或 625-50) 。
MFVideoFormat_DVC 'dvc ' DVC/DV 視訊。
MFVideoFormat_DVH1 'dvh1' DVCPRO 100 (1080/60i、1080/50i 或 720/60P) 。
MFVideoFormat_DVHD 'dvhd' HD-DVCR (1125-60 或 1250-50) 。
MFVideoFormat_DVSD 'dvsd' SDL-DVCR (525-60 或 625-50) 。
MFVideoFormat_DVSL 'dvsl' SD-DVCR (525-60 或 625-50) 。
MFVideoFormat_H263 'H263' H.263 影片。
MFVideoFormat_H264 'H264' H.264 影片。
媒體範例包含具有開始程式碼的 H.264 位資料流程資料,並具有交錯的 SPS/PPS。 每個範例都包含一個完整圖片,一個欄位或一個框架。
MFVideoFormat_H265 'H265' H.265 影片。
MFVideoFormat_H264_ES 不適用 H.264 基礎串流。
此媒體類型與 MFVideoFormat_H264相同,但媒體範例包含分散的 H.264 位資料流程除外。 每個範例可能包含部分圖片;多個完整圖片;或一或多個完整圖片加上部分圖片。
MFVideoFormat_HEVC 'HEVC' HEVC 主要設定檔和主要仍然圖片設定檔。
每個範例都包含一個完整圖片。
Windows 8.1和更新版本中支援。 HEVC 主要設定檔和主要仍然圖片設定檔基本串流。
MFVideoFormat_HEVC_ES 'HEVS' 此媒體類型與 MFVideoFormat_HEVC相同,但媒體範例包含分散的 HEVC 位資料流程。 每個範例可能包含部分圖片;多個完整圖片;或一或多個完整圖片加上部分圖片。
Windows 8.1和更新版本中支援。
MFVideoFormat_M4S2 'M4S2' MPEG-4 第 2 部分影片。
MFVideoFormat_MJPG 'MJPG' 動作 JPEG。
MFVideoFormat_MP43 'MP43' Microsoft MPEG 4 編解碼器第 3 版。 不再支援此編解碼器。
MFVideoFormat_MP4S 'MP4S' ISO MPEG 4 編解碼器第 1 版。
MFVideoFormat_MP4V 'MP4V' MPEG-4 第 2 部分影片。
MFVideoFormat_MPEG2 不適用 MPEG-2 視訊。 (相當於 DirectShow.) 中的MEDIASUBTYPE_MPEG2_VIDEO
MFVideoFormat_VP80 'MPG1' VP8 影片。
MFVideoFormat_VP90 'MPG1' VP9 影片。
MFVideoFormat_MPG1 'MPG1' MPEG-1 視訊。
MFVideoFormat_MSS1 'MSS1' Windows Media Screen 編解碼器第 1 版。
MFVideoFormat_MSS2 'MSS2' Windows Media Video 9 螢幕編解碼器。
MFVideoFormat_WMV1 'WMV1' Windows Media Video 編解碼器第 7 版。
MFVideoFormat_WMV2 'WMV2' Windows Media Video 8 編解碼器。
MFVideoFormat_WMV3 'WMV3' Windows Media Video 9 編解碼器。
MFVideoFormat_WVC1 'WVC1' SMPTE 421M (「VC-1」) 。
MFVideoFormat_420O '420O' 每個通道平面 YUV 4:2:0 影片 8 位。
MFVideoFormat_AV1 'AV01' AV1 視訊。

 

從 FOURCC 和 D3DFORMAT 值建立子類型 GUID

視訊格式通常以 FOURC 或 D3DFORMAT 值表示。 保留一系列 GUID,以子類型表示這些值。 這些 GUID 的格式為 XXXXXXXX-0000-0010-8000-00AA00389B71 ,其中 XXXXXXXX 是 4 位元組的 FOURCC 程式碼或 D3DFORMAT 值。

如果視訊格式具有相關聯的 FOURCC 或 D3DFORMAT 值,您可以建立對應的子類型 GUID,如下所示:從常數 MFVideoFormat_Base 開始,並將 GUID 的第一個 DWORD 取代為影片 FOURCC 或 D3DFORMAT 值。 您可以使用 DEFINE_MEDIATYPE_GUID 宏來進行此目的。

注意

DirectShow 也會針對大部分的視訊子類型使用此系統,但不適用於未壓縮的 RGB 格式。 因此,DirectShow 中的 RGB 子類型與媒體基礎中的 RGB 子類型不符。

 

D3DFORMAT列舉定義于標頭檔 d3d9types.h 中。 下表顯示最常見的未壓縮 RGB 格式和對應的 D3DFORMAT 值。

RGB 格式 D3DFORMAT
32 位 RGB D3DFMT_X8R8G8B8
32 位 RGB 與 Alpha 色板 D3DFMT_A8R8G8B8
24 位 RGB D3DFMT_R8G8B8
RGB 555 (16 位 RGB) D3DFMT_X1R5G5B5
RGB 555 含 Alpha 色板 D3DFMT_A1R5G5B5
RGB 565 (16 位 RGB) D3DFMT_R5G6B5
8 位 Palettized RGB D3DFMT_P8
A2 R10 G10 B10 (32 位 RGB 與 Alpha 色板;每個 RGB 通道 10 位) D3DFMT_A2R10G10B10
A2 B10 G10 R10 (32 位 RGB 與 Alpha 色板;每個 RGB 通道 10 位) D3DFMT_A2B10G10R10
僅限 8 位亮度。 D3DFMT_L8
僅限 16 位亮度。 D3DFMT_L16
16 位 z 緩衝區深度 D3DFMT_D16

 

如需 FOURC 的詳細資訊,請參閱 VIDEO FOURC

IMFMediaType

媒體類型 GUID

MF_MT_SUBTYPE

媒體類型

視訊媒體類型