GUID del sottotipo video

I GUID di sottotipo video seguenti sono definiti nel file di intestazione mfapi.h. Per specificare il sottotipo, impostare l'attributo MF_MT_SUBTYPE sul tipo di supporto.

Quando vengono usati questi sottotipi, impostare l'attributo MF_MT_MAJOR_TYPE su MFMediaType_Video.

Formati RGB non compressi

GUID Descrizione
MFVideoFormat_RGB8 RGB, 8 bit per pixel (bpp). (Lo stesso layout di memoria di D3DFMT_P8.)
MFVideoFormat_RGB555 RGB 555, 16 bpp. (Lo stesso layout di memoria di D3DFMT_X1R5G5B5.)
MFVideoFormat_RGB565 RGB 565, 16 bpp. (Lo stesso layout di memoria di D3DFMT_R5G6B5.)
MFVideoFormat_RGB24 RGB, 24 bpp.
MFVideoFormat_RGB32 RGB, 32 bpp.
MFVideoFormat_ARGB32 RGB, 32 bpp con canale alfa.
MFVideoFormat_A2R10G10B10 RGB, 10 bpp per ogni colore e 2 bpp per alfa. (Lo stesso layout di memoria del D3DFMT_A2B10G10R10)
MFVideoFormat_A16B16G16R16F RGB, 16 bpp con canale alfa. (Stesso layout di memoria del D3DFMT_A16B16G16R16F)

 

Nota

Questi sottotipi non corrispondono ai GUID del sottotipo RGB usati negli SDK precedenti, ad esempio DirectShow.

 

Formati YUV: a 8 bit e palettizzati

GUID Formato campionamento Pacchetto o planare Bit per canale
MFVideoFormat_AI44 AI44 4:4:4 Pranzo Palettizzato
MFVideoFormat_AYUV AYUV 4:4:4 Pranzo 8
MFVideoFormat_I420 I420 4:2:0 Planare 8
MFVideoFormat_IYUV IYUV 4:2:0 Planare 8
MFVideoFormat_NV11 NV11 4:1:1 Planare 8
MFVideoFormat_NV12 NV12 4:2:0 Planare 8
MFVideoFormat_NV21 NV21 4:2:0 Planare 8
MFVideoFormat_UYVY UYVY 4:2:2 Pranzo 8
MFVideoFormat_Y41P Y41P 4:1:1 Pranzo 8
MFVideoFormat_Y41T Y41T 4:1:1 Pranzo 8
MFVideoFormat_Y42T Y42T 4:2:2 Pranzo 8
MFVideoFormat_YUY2 YUY2 4:2:2 Pranzo 8
MFVideoFormat_YVU9 YVU9 8:4:4 Planare 9
MFVideoFormat_YV12 YV12 4:2:0 Planare 8
MFVideoFormat_YVYU YVYU 4:2:2 Pranzo 8

 

I formati YUV consigliati sono descritti in dettaglio nell'argomento Formati YUV a 8 bit consigliati per il rendering video.

Nota

I420 e IYUV hanno lo stesso layout in memoria, ma vengono assegnati GUID di sottotipo distinti. I GUID di sottotipo corrispondono ai codici FOURCC 'I420' e 'IYUV'; per altre informazioni, vedere Video FOURCCs .

 

Formati YUV: 10 bit e 16 bit

GUID Formato campionamento Pacchetto o planare Bit per canale
MFVideoFormat_P010 P010 4:2:0 Planare 10
MFVideoFormat_P016 P016 4:2:0 Planare 16
MFVideoFormat_P210 P210 4:2:2 Planare 10
MFVideoFormat_P216 P216 4:2:2 Planare 16
MFVideoFormat_v210 v210 4:2:2 Pranzo 10
MFVideoFormat_v216 v216 4:2:2 Pranzo 16
MFVideoFormat_v410 v40 4:4:4 Pranzo 10
MFVideoFormat_Y210 Y210 4:2:2 Pranzo 10
MFVideoFormat_Y216 Y216 4:2:2 Pranzo 16
MFVideoFormat_Y410 Y40 4:4:4 Pranzo 10
MFVideoFormat_Y416 Y416 4:4:4 Pranzo 16

 

Per altre informazioni su questi formati, vedere Formati video YUV a 10 bit e a 16 bit.

Formati di luminanza e profondità

GUID Descrizione
MFVideoFormat_L8 Solo luminanza a 8 bit. (bpp). (Lo stesso layout di memoria di D3DFMT_L8.)
MFVideoFormat_L16 Solo la luminanza a 16 bit. (Stesso layout di memoria di D3DFMT_L16.)
MFVideoFormat_D16 Profondità del buffer z a 16 bit. (Lo stesso layout di memoria di D3DFMT_D16.)

 

Tipi di video codificati

GUID FOURCC Descrizione
MFVideoFormat_DV25 'dv25' DVCPRO 25 (525-60 o 625-50).
MFVideoFormat_DV50 'dv50' DVCPRO 50 (525-60 o 625-50).
MFVideoFormat_DVC 'dvc ' Video DVC/DV.
MFVideoFormat_DVH1 'dvh1' DVCPRO 100 (1080/60i, 1080/50i o 720/60P).
MFVideoFormat_DVHD 'dvhd' HD-DVCR (1125-60 o 1250-50).
MFVideoFormat_DVSD 'dvsd' SDL-DVCR (525-60 o 625-50).
MFVideoFormat_DVSL 'dvsl' SD-DVCR (525-60 o 625-50).
MFVideoFormat_H263 'H263' Video H.263.
MFVideoFormat_H264 'H264' Video H.264.
Gli esempi multimediali contengono dati H.264 bitstream con codici di inizio e hanno spS/PPS interleaved. Ogni esempio contiene un'immagine completa, un campo o un fotogramma.
MFVideoFormat_H265 'H265' Video H.265.
MFVideoFormat_H264_ES Non applicabile Flusso elementare H.264.
Questo tipo di supporto è uguale a MFVideoFormat_H264, ad eccezione degli esempi multimediali che contengono un bitstream H.264 frammentato. Ogni esempio può contenere un'immagine parziale; più immagini complete; o una o più immagini complete più un'immagine parziale.
MFVideoFormat_HEVC 'HEVC' Profilo principale HEVC e profilo Immagine ancora principale.
Ogni esempio contiene un'immagine completa.
Supportato in Windows 8.1 e versioni successive. Il profilo principale HEVC e il flusso elementare del profilo principale dell'immagine continua.
MFVideoFormat_HEVC_ES 'HEVS' Questo tipo di supporto è uguale a MFVideoFormat_HEVC, ad eccezione dei campioni multimediali che contengono un bitstream HEVC frammentato. Ogni esempio può contenere un'immagine parziale; più immagini complete; o una o più immagini complete più un'immagine parziale.
Supportato in Windows 8.1 e versioni successive.
MFVideoFormat_M4S2 'M4S2' Video MPEG-4 parte 2.
MFVideoFormat_MJPG 'MJPG' Motion JPEG.
MFVideoFormat_MP43 'MP43' Codec Microsoft MPEG 4 versione 3. Questo codec non è più supportato.
MFVideoFormat_MP4S 'MP4S' Codec ISO MPEG 4 versione 1.
MFVideoFormat_MP4V 'MP4V' Video MPEG-4 parte 2.
MFVideoFormat_MPEG2 Non applicabile Video MPEG-2. Equivalente a MEDIASUBTYPE_MPEG2_VIDEO in DirectShow.
MFVideoFormat_VP80 'MPEG1' Video VP8.
MFVideoFormat_VP90 'MPEG1' Video VP9.
MFVideoFormat_MPG1 'MPEG1' Video MPEG-1.
MFVideoFormat_MSS1 'MSS1' codec Windows media screen versione 1.
MFVideoFormat_MSS2 'MSS2' codec video multimediale 9 Windows.
MFVideoFormat_WMV1 'WMV1' Windows codec Video multimediale versione 7.
MFVideoFormat_WMV2 'WMV2' Windows codec Media Video 8.
MFVideoFormat_WMV3 'WMV3' Windows codec Media Video 9.
MFVideoFormat_WVC1 'WVC1' SMPTE 421M ("VC-1").
MFVideoFormat_420O '420O' Video YUV 4:2:0 a 8 bit per canale planare.
MFVideoFormat_AV1 'AV01' Video AV1.

 

Creazione di GUID sottotipi da FOURCCs e valori D3DFORMAT

I formati video sono spesso rappresentati dai valori FOURCCs o D3DFORMAT . Un intervallo di GUID è riservato per rappresentare questi valori come sottotipi. Questi GUID hanno il formato XXXXXXXX-0000-0010-8000-00AA00389B71, dove XXXXXXXX è il codice FOURCC a 4 byte o il valore D3DFORMAT .

Se un formato video ha un valore FOURCC o D3DFORMAT associato, è possibile creare il GUID del sottotipo corrispondente nel modo seguente: Iniziare con la costante MFVideoFormat_Base e sostituire il primo DWORD del GUID con il video FOURCC o il valore D3DFORMAT . A questo scopo, è possibile utilizzare la macro DEFINE_MEDIATYPE_GUID .

Nota

DirectShow usa anche questo sistema per la maggior parte dei sottotipi video, ma non per i formati RGB non compressi. Pertanto, i sottotipi RGB in DirectShow non corrispondono ai sottotipi RGB in Media Foundation.

 

L'enumerazione D3DFORMAT è definita nel file di intestazione d3d9types.h. La tabella seguente illustra i formati RGB non compressi più comuni e il valore D3DFORMAT corrispondente.

Formato RGB Valore D3DFORMAT
RGB a 32 bit D3DFMT_X8R8G8B8
RGB a 32 bit con canale alfa D3DFMT_A8R8G8B8
RGB a 24 bit D3DFMT_R8G8B8
RGB 555 (RGB a 16 bit) D3DFMT_X1R5G5B5
RGB 555 con canale alfa D3DFMT_A1R5G5B5
RGB 565 (RGB a 16 bit) D3DFMT_R5G6B5
RGB pallido a 8 bit D3DFMT_P8
A2 R10 G10 B10 (RGB a 32 bit con canale alfa; 10 bit per canale RGB) D3DFMT_A2R10G10B10
A2 B10 G10 R10 (RGB a 32 bit con canale alfa; 10 bit per canale RGB) D3DFMT_A2B10G10R10
Solo luminanza a 8 bit. D3DFMT_L8
Solo luminanza a 16 bit. D3DFMT_L16
Profondità buffer z a 16 bit D3DFMT_D16

 

Per altre informazioni su FOURCCC, vedere Video FOURCCs.

IMFMediaType

GUID del tipo di supporto

MF_MT_SUBTYPE

Tipi di supporti

Tipi di supporti video