GUIDs de subtipo de vídeo

Os GUIDs de subtipo de vídeo a seguir são definidos no arquivo de cabeçalho mfapi.h. Para especificar o subtipo, defina o atributo MF_MT_SUBTYPE no tipo de mídia.

Quando esses subtipos forem usados, defina o atributo MF_MT_MAJOR_TYPE como MFMediaType_Video.

Formatos RGB não compactados

GUID Descrição
MFVideoFormat_RGB8 RGB, 8 bits por pixel (bpp). (Mesmo layout de memória que D3DFMT_P8.)
MFVideoFormat_RGB555 RGB 555, 16 bpp. (Mesmo layout de memória que D3DFMT_X1R5G5B5.)
MFVideoFormat_RGB565 RGB 565, 16 bpp. (Mesmo layout de memória que D3DFMT_R5G6B5.)
MFVideoFormat_RGB24 RGB, 24 bpp.
MFVideoFormat_RGB32 RGB, 32 bpp.
MFVideoFormat_ARGB32 RGB, 32 bpp com canal alfa.
MFVideoFormat_A2R10G10B10 RGB, 10 bpp para cada cor e 2 bpp para alfa. (Mesmo layout de memória que D3DFMT_A2B10G10R10)
MFVideoFormat_A16B16G16R16F RGB, 16 bpp com canal alfa. (Mesmo layout de memória que D3DFMT_A16B16G16R16F)

 

Observação

Esses subtipos não correspondem aos GUIDs de subtipo RGB usados em SDKs anteriores, como DirectShow.

 

Formatos YUV: 8 bits e palettizados

GUID Formatar amostragem Empacotado ou planar Bits por canal
MFVideoFormat_AI44 AI44 4:4:4 Embalado Palettized
MFVideoFormat_AYUV AYUV 4:4:4 Embalado 8
MFVideoFormat_I420 I420 4:2:0 Planar 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_NV21 NV21 4:2:0 Planar 8
MFVideoFormat_UYVY UYVY 4:2:2 Embalado 8
MFVideoFormat_Y41P Y41P 4:1:1 Embalado 8
MFVideoFormat_Y41T Y41T 4:1:1 Embalado 8
MFVideoFormat_Y42T Y42T 4:2:2 Embalado 8
MFVideoFormat_YUY2 YUY2 4:2:2 Embalado 8
MFVideoFormat_YVU9 YVU9 8:4:4 Planar 9
MFVideoFormat_YV12 YV12 4:2:0 Planar 8
MFVideoFormat_YVYU YVYU 4:2:2 Embalado 8

 

Os formatos YUV recomendados são descritos em detalhes no tópico Formatos YUV recomendados de 8 bits para renderização de vídeo.

Observação

I420 e IYUV têm o mesmo layout na memória, mas recebem GUIDs de subtipo distintos. Os GUIDs de subtipo correspondem aos códigos FOURCC 'I420' e 'IYUV'; consulte Vídeo FOURCCs para obter mais informações.

 

Formatos YUV: 10 bits e 16 bits

GUID Formatar amostragem Empacotado ou planar Bits por canal
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 Embalado 10
MFVideoFormat_v216 v216 4:2:2 Embalado 16
MFVideoFormat_v410 v40 4:4:4 Embalado 10
MFVideoFormat_Y210 Y210 4:2:2 Embalado 10
MFVideoFormat_Y216 Y216 4:2:2 Embalado 16
MFVideoFormat_Y410 Y40 4:4:4 Embalado 10
MFVideoFormat_Y416 Y416 4:4:4 Embalado 16

 

Para obter mais informações sobre esses formatos, consulte Formatos de vídeo YUV de 10 bits e 16 bits.

Formatos de luminância e profundidade

GUID Descrição
MFVideoFormat_L8 Somente luminância de 8 bits. (bpp). (Mesmo layout de memória que D3DFMT_L8.)
MFVideoFormat_L16 Somente luminância de 16 bits. (Mesmo layout de memória que D3DFMT_L16.)
MFVideoFormat_D16 Profundidade do buffer z de 16 bits. (Mesmo layout de memória que D3DFMT_D16.)

 

Tipos de vídeo codificados

GUID FOURCC Descrição
MFVideoFormat_DV25 'dv25' DVCPRO 25 (525-60 ou 625-50).
MFVideoFormat_DV50 'dv50' DVCPRO 50 (525-60 ou 625-50).
MFVideoFormat_DVC 'dvc' Vídeo DVC/DV.
MFVideoFormat_DVH1 'dvh1' DVCPRO 100 (1080/60i, 1080/50i ou 720/60P).
MFVideoFormat_DVHD 'dvhd' HD-DVCR (1125-60 ou 1250-50).
MFVideoFormat_DVSD 'dvsd' SDL-DVCR (525-60 ou 625-50).
MFVideoFormat_DVSL 'dvsl' SD-DVCR (525-60 ou 625-50).
MFVideoFormat_H263 'H263' Vídeo H.263.
MFVideoFormat_H264 'H264' Vídeo H.264.
Os exemplos de mídia contêm dados de bitstream H.264 com códigos iniciais e têm SPS/PPS intercalados. Cada exemplo contém uma imagem completa, um campo ou um quadro.
MFVideoFormat_H265 'H265' Vídeo H.265.
MFVideoFormat_H264_ES Não aplicável H.264 fluxo elementar.
Esse tipo de mídia é o mesmo que MFVideoFormat_H264, exceto que os exemplos de mídia contêm um H.264 bitstream fragmentado. Cada exemplo pode conter uma imagem parcial; várias imagens completas; ou uma ou mais imagens completas mais uma imagem parcial.
MFVideoFormat_HEVC 'HEVC' O perfil principal do HEVC e o perfil imagem ainda principal.
Cada exemplo contém uma imagem completa.
Com suporte em Windows 8.1 e posteriores. O perfil principal do HEVC e o fluxo elementar do perfil principal ainda imagem.
MFVideoFormat_HEVC_ES 'HEVS' Esse tipo de mídia é o mesmo que MFVideoFormat_HEVC, exceto que os exemplos de mídia contêm um bitstream HEVC fragmentado. Cada exemplo pode conter uma imagem parcial; várias imagens completas; ou uma ou mais imagens completas mais uma imagem parcial.
Com suporte em Windows 8.1 e posteriores.
MFVideoFormat_M4S2 'M4S2' Vídeo mpeg-4 parte 2.
MFVideoFormat_MJPG 'MJPG' Movimento JPEG.
MFVideoFormat_MP43 'MP43' Microsoft MPEG 4 codec versão 3. Não há mais suporte para esse codec.
MFVideoFormat_MP4S 'MP4S' ISO MPEG 4 codec versão 1.
MFVideoFormat_MP4V 'MP4V' Vídeo mpeg-4 parte 2.
MFVideoFormat_MPEG2 Não aplicável Vídeo MPEG-2. (Equivalente a MEDIASUBTYPE_MPEG2_VIDEO no DirectShow.)
MFVideoFormat_VP80 'MPG1' Vídeo VP8.
MFVideoFormat_VP90 'MPG1' Vídeo VP9.
MFVideoFormat_MPG1 'MPG1' Vídeo MPEG-1.
MFVideoFormat_MSS1 'MSS1' Codec do Windows Media Screen versão 1.
MFVideoFormat_MSS2 'MSS2' Codec de tela do Windows Media Video 9.
MFVideoFormat_WMV1 'WMV1' Codec do Windows Media Video versão 7.
MFVideoFormat_WMV2 'WMV2' Codec do Windows Media Video 8.
MFVideoFormat_WMV3 'WMV3' Codec do Windows Media Video 9.
MFVideoFormat_WVC1 'WVC1' SMPTE 421M ("VC-1").
MFVideoFormat_420O '420O' Vídeo YUV de planar de 8 bits por canal 4:2:0.
MFVideoFormat_AV1 'AV01' Vídeo AV1.

 

Criando GUIDs de subtipo de VALORES FOURCCs e D3DFORMAT

Os formatos de vídeo geralmente são representados por valores FOURCCs ou D3DFORMAT . Um intervalo de GUIDs é reservado para representar esses valores como subtipos. Esses GUIDs têm o formulário XXXXXXXX-0000-0010-8000-00AA00389B71, em que XXXXXXXX é o código FOURCC de 4 bytes ou o valor D3DFORMAT .

Se um formato de vídeo tiver um valor FOURCC ou D3DFORMAT associado, você poderá criar o GUID de subtipo correspondente da seguinte maneira: Comece com a constante MFVideoFormat_Base e substitua o primeiro DWORD do GUID pelo vídeo FOURCC ou o valor D3DFORMAT . Você pode usar a macro DEFINE_MEDIATYPE_GUID para essa finalidade.

Observação

O DirectShow também usa esse sistema para a maioria dos subtipos de vídeo, mas não para formatos RGB não compactados. Portanto, os subtipos RGB no DirectShow não correspondem aos subtipos RGB no Media Foundation.

 

A enumeração D3DFORMAT é definida no arquivo de cabeçalho d3d9types.h. A tabela a seguir mostra os formatos RGB não compactados mais comuns e o valor D3DFORMAT correspondente.

Formato RGB Valor D3DFORMAT
RGB de 32 bits D3DFMT_X8R8G8B8
RGB de 32 bits com canal alfa D3DFMT_A8R8G8B8
RGB de 24 bits D3DFMT_R8G8B8
RGB 555 (RGB de 16 bits) D3DFMT_X1R5G5B5
RGB 555 com canal alfa D3DFMT_A1R5G5B5
RGB 565 (RGB de 16 bits) D3DFMT_R5G6B5
RGB palettizado de 8 bits D3DFMT_P8
A2 R10 G10 B10 (RGB de 32 bits com canal alfa; 10 bits por canal RGB) D3DFMT_A2R10G10B10
A2 B10 G10 R10 (RGB de 32 bits com canal alfa; 10 bits por canal RGB) D3DFMT_A2B10G10R10
Somente luminância de 8 bits. D3DFMT_L8
Somente luminância de 16 bits. D3DFMT_L16
Profundidade do buffer z de 16 bits D3DFMT_D16

 

Para obter mais informações sobre FOURCCs, consulte Vídeo FOURCCs.

IMFMediaType

GUIDs de tipo de mídia

MF_MT_SUBTYPE

Tipos de mídia

Tipos de mídia de vídeo