影片子類型 GUID
下列影片子類型 GUID 定義於頭檔 mfapi.h 中。 若要指定子類型,請在媒體類型上設定 MF_MT_SUBTYPE 屬性。
使用這些子類型時,請將 MF_MT_MAJOR_TYPE 屬性設定為 MFMediaType_Video。
- 未壓縮的 RGB 格式
- YUV 格式:8 位和 Palettized
- YUV 格式:10 位和 16 位
- 亮度和深度格式
- 編碼的視訊類型
- 從FOURC和 D3DFORMAT值建立子類型 GUID
- 相關主題
未壓縮的 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,Alpha 為 2 bpp。 (與 D3DFMT_A2B10G10R10相同的記憶體配置) |
MFVideoFormat_A16B16G16R16F | RGB,16 bpp 與 Alpha 色板。 (與 D3DFMT_A16B16G16R16F相同的記憶體配置) |
注意
這些子類型不符合先前 SDK 中使用的 RGB 子類型 GUID,例如 DirectShow。
YUV 格式:8 位和 Palettized
GUID | 格式 | 採樣 | 包裝或平面 | 每個通道的位數 |
---|---|---|---|---|
MFVideoFormat_AI44 | AI44 | 4:4:4 | 包裝好的 | Palettized |
MFVideoFormat_AYUV | AYUV | 4:4:4 | 包裝好的 | 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 | 包裝好的 | 8 |
MFVideoFormat_Y41P | Y41P | 4:1:1 | 包裝好的 | 8 |
MFVideoFormat_Y41T | Y41T | 4:1:1 | 包裝好的 | 8 |
MFVideoFormat_Y42T | Y42T | 4:2:2 | 包裝好的 | 8 |
MFVideoFormat_YUY2 | YUY2 | 4:2:2 | 包裝好的 | 8 |
MFVideoFormat_YVU9 | YVU9 | 8:4:4 | 平面的 | 9 |
MFVideoFormat_YV12 | YV12 | 4:2:0 | 平面的 | 8 |
MFVideoFormat_YVYU | YVYU | 4:2:2 | 包裝好的 | 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 | 包裝好的 | 10 |
MFVideoFormat_v216 | v216 | 4:2:2 | 包裝好的 | 16 |
MFVideoFormat_v410 | v40 | 4:4:4 | 包裝好的 | 10 |
MFVideoFormat_Y210 | Y210 | 4:2:2 | 包裝好的 | 10 |
MFVideoFormat_Y216 | Y216 | 4:2:2 | 包裝好的 | 16 |
MFVideoFormat_Y410 | Y40 | 4:4:4 | 包裝好的 | 10 |
MFVideoFormat_Y416 | Y416 | 4:4:4 | 包裝好的 | 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' | 每個通道 8 位平面 YUV 4:2:0 視訊。 |
MFVideoFormat_AV1 | 'AV01' | AV1 視訊。 |
從FOURC和 D3DFORMAT值建立子類型 GUID
視訊格式通常以FOURC或 D3DFORMAT 值表示。 保留一系列 GUID,以將這些值表示為子類型。 這些 GUID 的格式為 XXXXXXXX-0000-0010-8000-00AA00389B71
,其中 XXXXXXXX
是 4 位元組的 FOURCC 程式代碼或 D3DFORMAT 值。
如果視訊格式具有相關聯的FOURCC或 D3DFORMAT 值,您可以建立對應的子類型 GUID,如下所示:從常數 MFVideoFormat_Base 開始,並以影片 FOURCC 或 D3DFORMAT 值取代 GUID 的第一個 DWORD。 您可以針對此目的使用 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 位擷取 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。
相關主題