Идентификаторы 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 б/с.
MFVideoFormat_ARGB32 RGB, 32 bpp с альфа-каналом.
MFVideoFormat_A2R10G10B10 RGB, 10 bpp для каждого цвета и 2 bpp для альфа-канала. (Тот же макет памяти, что и D3DFMT_A2B10G10R10)
MFVideoFormat_A16B16G16R16F RGB, 16 bpp с альфа-каналом. (Тот же макет памяти, что и D3DFMT_A16B16G16R16F)

 

Примечание

Эти подтипы не соответствуют идентификаторам GUID подтипа RGB, используемым в предыдущих пакетах SDK, таких как DirectShow.

 

Форматы YUV: 8-разрядные и палеттизированные

GUID Формат Дискретизация Упакованные или плоски Число битов на канал
MFVideoFormat_AI44 AI44 4:4:4 Упакованные Палеттизированный
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 FOURCCs .

 

Форматы 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 версия 210 4:2:2 Упакованные 10
MFVideoFormat_v216 версия 216 4:2:2 Упакованные 16
MFVideoFormat_v410 версия 40 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 Main и Main Still Picture profile.
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. ( Эквивалентно MEDIASUBTYPE_MPEG2_VIDEO в DirectShow.)
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.

 

Создание идентификаторов GUID подтипов из значений FOURCCs и D3DFORMAT

Форматы видео часто представлены значениями FOURCCs или D3DFORMAT . Диапазон идентификаторов GUID зарезервирован для представления этих значений в виде подтипов. Эти идентификаторы GUID имеют форму XXXXXXXX-0000-0010-8000-00AA00389B71, где XXXXXXXX — это 4-байтовый код FOURCC или значение D3DFORMAT .

Если формат видео имеет связанное значение FOURCC или D3DFORMAT , можно создать соответствующий guid подтипа следующим образом: Начните с константы MFVideoFormat_Base и замените первый DWORD guid на video FOURCC или D3DFORMAT . Для этой цели можно использовать макрос DEFINE_MEDIATYPE_GUID .

Примечание

DirectShow также использует эту систему для большинства подтипов видео, но не для несжатых форматов RGB. Поэтому подтипы RGB в DirectShow не соответствуют подтипам RGB в Media Foundation.

 

Перечисление D3DFORMAT определяется в файле заголовка d3d9types.h. В следующей таблице показаны наиболее распространенные несжатые форматы RGB и соответствующее значение D3DFORMAT .

Формат RGB Значение D3DFORMAT
32-разрядная версия RGB D3DFMT_X8R8G8B8
32-разрядный RGB с альфа-каналом D3DFMT_A8R8G8B8
24-разрядная RGB D3DFMT_R8G8B8
RGB 555 (16-разрядный RGB) D3DFMT_X1R5G5B5
RGB 555 с альфа-каналом D3DFMT_A1R5G5B5
RGB 565 (16-разрядный RGB) D3DFMT_R5G6B5
8-разрядный палеттизированный RGB D3DFMT_P8
A2 R10 G10 B10 (32-разрядный RGB с альфа-каналом; 10 бит на канал RGB) D3DFMT_A2R10G10B10
A2 B10 G10 R10 (32-разрядный RGB с альфа-каналом; 10 бит на канал RGB) D3DFMT_A2B10G10R10
Только 8-разрядная яркость. D3DFMT_L8
Только 16-разрядная яркость. D3DFMT_L16
Глубина z-буфера 16 бит D3DFMT_D16

 

Дополнительные сведения о FOURCC см. в разделе Video FOURCCs.

IMFMediaType

Идентификаторы GUID типа мультимедиа

MF_MT_SUBTYPE

Типы носителей

Типы видеофайла