GUID de sous-type de vidéo

Les GUID de sous-type vidéo suivants sont définis dans le fichier d’en-tête mfapi.h. Pour spécifier le sous-type, définissez l’attribut MF_MT_SUBTYPE sur le type de média.

Lorsque ces sous-types sont utilisés, définissez l’attribut MF_MT_MAJOR_TYPE sur MFMediaType_Video.

Formats RVB non compressés

GUID Description
MFVideoFormat_RGB8 RVB, 8 bits par pixel (bpp). (Même disposition de mémoire que D3DFMT_P8.)
MFVideoFormat_RGB555 RVB 555, 16 bpp. (Même disposition de mémoire que D3DFMT_X1R5G5B5.)
MFVideoFormat_RGB565 RVB 565, 16 bpp. (Même disposition de mémoire que D3DFMT_R5G6B5.)
MFVideoFormat_RGB24 RVB, 24 bpp.
MFVideoFormat_RGB32 RVB, 32 bpp.
MFVideoFormat_ARGB32 RVB, 32 bpp avec canal alpha.
MFVideoFormat_A2R10G10B10 RVB, 10 bpp pour chaque couleur et 2 bpp pour alpha. (Même disposition de mémoire que D3DFMT_A2B10G10R10)
MFVideoFormat_A16B16G16R16F RVB, 16 bpp avec canal alpha. (Même disposition de mémoire que D3DFMT_A16B16G16R16F)

 

Notes

Ces sous-types ne correspondent pas aux GUID de sous-type RVB utilisés dans les sdk précédents, tels que DirectShow.

 

Formats YUV : 8 bits et palettized

GUID Format échantillonnage Emballé ou planaire Bits par canal
MFVideoFormat_AI44 AI44 4:4:4 Emballé Palettisé
MFVideoFormat_AYUV AYUV 4:4:4 Emballé 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 Emballé 8
MFVideoFormat_Y41P Y41P 4:1:1 Emballé 8
MFVideoFormat_Y41T Y41T 4:1:1 Emballé 8
MFVideoFormat_Y42T Y42T 4:2:2 Emballé 8
MFVideoFormat_YUY2 YUY2 4:2:2 Emballé 8
MFVideoFormat_YVU9 YVU9 8:4:4 Planar 9
MFVideoFormat_YV12 YV12 4:2:0 Planar 8
MFVideoFormat_YVYU YVYU 4:2:2 Emballé 8

 

Les formats YUV recommandés sont décrits en détail dans la rubrique Formats YUV 8 bits recommandés pour le rendu vidéo.

Notes

I420 et IYUV ont la même disposition en mémoire, mais se voient attribuer des GUID de sous-type distincts. Les GUID de sous-type correspondent aux codes FOURCC « I420 » et « IYUV » ; Pour plus d’informations, consultez Vidéo FOURCCs .

 

Formats YUV : 10 bits et 16 bits

GUID Format échantillonnage Emballé ou planaire Bits par 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 Emballé 10
MFVideoFormat_v216 v216 4:2:2 Emballé 16
MFVideoFormat_v410 v40 4:4:4 Emballé 10
MFVideoFormat_Y210 Y210 4:2:2 Emballé 10
MFVideoFormat_Y216 Y216 4:2:2 Emballé 16
MFVideoFormat_Y410 Y40 4:4:4 Emballé 10
MFVideoFormat_Y416 Y416 4:4:4 Emballé 16

 

Pour plus d’informations sur ces formats, consultez Formats vidéo YUV 10 bits et 16 bits.

Formats de luminance et de profondeur

GUID Description
MFVideoFormat_L8 Luminance 8 bits uniquement. (bpp). (Même disposition de mémoire que D3DFMT_L8.)
MFVideoFormat_L16 Luminance 16 bits uniquement. (Même disposition de mémoire que D3DFMT_L16.)
MFVideoFormat_D16 Profondeur de la mémoire tampon z 16 bits. (Même disposition de mémoire que D3DFMT_D16.)

 

Types vidéo encodés

GUID FOURCC Description
MFVideoFormat_DV25 'dv25' DVCPRO 25 (525-60 ou 625-50).
MFVideoFormat_DV50 'dv50' DVCPRO 50 (525-60 ou 625-50).
MFVideoFormat_DVC 'dvc ' Vidéo 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' Vidéo H.263.
MFVideoFormat_H264 'H264' Vidéo H.264.
Les exemples multimédias contiennent des données de flux de bits H.264 avec des codes de démarrage et ont entrelacé SPS/PPS. Chaque exemple contient une image complète, soit un champ, soit un cadre.
MFVideoFormat_H265 'H265' Vidéo H.265.
MFVideoFormat_H264_ES Non applicable Flux élémentaire H.264.
Ce type de média est identique à MFVideoFormat_H264, sauf que les exemples multimédias contiennent un flux de bits H.264 fragmenté. Chaque exemple peut contenir une image partielle ; plusieurs images complètes; ou une ou plusieurs images complètes plus une image partielle.
MFVideoFormat_HEVC 'HEVC' Profil principal HEVC et profil Image fixe principale.
Chaque exemple contient une image complète.
Pris en charge dans Windows 8.1 et versions ultérieures. Flux élémentaire du profil principal HEVC et du profil Main Still Picture.
MFVideoFormat_HEVC_ES 'HEVS' Ce type de média est identique à MFVideoFormat_HEVC, sauf que les exemples multimédias contiennent un flux de bits HEVC fragmenté. Chaque exemple peut contenir une image partielle ; plusieurs images complètes; ou une ou plusieurs images complètes plus une image partielle.
Pris en charge dans Windows 8.1 et versions ultérieures.
MFVideoFormat_M4S2 'M4S2' Vidéo MPEG-4 partie 2.
MFVideoFormat_MJPG 'MJPG' Mouvement JPEG.
MFVideoFormat_MP43 'MP43' Codec Microsoft MPEG 4 version 3. Ce codec n’est plus pris en charge.
MFVideoFormat_MP4S 'MP4S' Codec ISO MPEG 4 version 1.
MFVideoFormat_MP4V 'MP4V' Vidéo MPEG-4 partie 2.
MFVideoFormat_MPEG2 Non applicable Vidéo MPEG-2. (Équivalent à MEDIASUBTYPE_MPEG2_VIDEO dans DirectShow.)
MFVideoFormat_VP80 'MPG1' Vidéo VP8.
MFVideoFormat_VP90 'MPG1' Vidéo VP9.
MFVideoFormat_MPG1 'MPG1' Vidéo MPEG-1.
MFVideoFormat_MSS1 'MSS1' Codec d’écran Windows Media version 1.
MFVideoFormat_MSS2 'MSS2' Codec d’écran Windows Media Video 9.
MFVideoFormat_WMV1 'WMV1' Codec Vidéo Windows Media version 7.
MFVideoFormat_WMV2 'WMV2' Codec Windows Media Video 8.
MFVideoFormat_WMV3 'WMV3' Codec Windows Media Video 9.
MFVideoFormat_WVC1 'WVC1' SMPTE 421M (« VC-1 »).
MFVideoFormat_420O '420O' Vidéo YUV 4:2:0 planaire 8 bits par canal.
MFVideoFormat_AV1 'AV01' Vidéo AV1.

 

Création de GUID de sous-type à partir de valeurs FOURCC et D3DFORMAT

Les formats vidéo sont souvent représentés par des valeurs FOURCCs ou D3DFORMAT . Une plage de GUID est réservée pour représenter ces valeurs en tant que sous-types. Ces GUID ont la forme XXXXXXXX-0000-0010-8000-00AA00389B71, où XXXXXXXX est le code FOURCC de 4 octets ou la valeur D3DFORMAT .

Si un format vidéo a une valeur FOURCC ou D3DFORMAT associée, vous pouvez créer le GUID de sous-type correspondant comme suit : Commencez par la constante MFVideoFormat_Base et remplacez le premier DWORD du GUID par la valeur vidéo FOURCC ou D3DFORMAT . Vous pouvez utiliser la macro DEFINE_MEDIATYPE_GUID à cet effet.

Notes

DirectShow utilise également ce système pour la plupart des sous-types vidéo, mais pas pour les formats RVB non compressés. Par conséquent, les sous-types RVB dans DirectShow ne correspondent pas aux sous-types RVB dans Media Foundation.

 

L’énumération D3DFORMAT est définie dans le fichier d’en-tête d3d9types.h. Le tableau suivant montre les formats RVB non compressés les plus courants et la valeur D3DFORMAT correspondante.

Format RVB Valeur D3DFORMAT
RVB 32 bits D3DFMT_X8R8G8B8
RVB 32 bits avec canal alpha D3DFMT_A8R8G8B8
RVB 24 bits D3DFMT_R8G8B8
RVB 555 (RVB 16 bits) D3DFMT_X1R5G5B5
RVB 555 avec canal alpha D3DFMT_A1R5G5B5
RVB 565 (RVB 16 bits) D3DFMT_R5G6B5
RVB palettisé 8 bits D3DFMT_P8
A2 R10 G10 B10 (RVB 32 bits avec canal alpha ; 10 bits par canal RVB) D3DFMT_A2R10G10B10
A2 B10 G10 R10 (RVB 32 bits avec canal alpha ; 10 bits par canal RVB) D3DFMT_A2B10G10R10
Luminance 8 bits uniquement. D3DFMT_L8
Luminance 16 bits uniquement. D3DFMT_L16
Profondeur de la mémoire tampon z 16 bits D3DFMT_D16

 

Pour plus d’informations sur FOURCCs, consultez Vidéo FOURCCs.

IMFMediaType

GUID de type multimédia

MF_MT_SUBTYPE

Types de médias

Types de médias vidéo