Vidéo FOURCCs

De nombreux formats vidéo ont des codes FOURCC qui leur sont attribués. Un code FOURCC est un entier non signé 32 bits créé en concaténant quatre caractères ASCII. Par exemple, le code FOURCC pour la vidéo YUY2 est « YUY2 ».

Différentes macros C/C++ sont définies pour déclarer des valeurs FOURCC dans le code source. La macro MAKEFOURCC est définie dans Mmsystem.h, et la macro FCC est définie dans Aviriff.h et dans divers autres fichiers d’en-tête. Vous pouvez également déclarer un code FOURCC directement en tant que littéral de chaîne simplement en inversant l’ordre des caractères. Par conséquent, les instructions suivantes sont équivalentes :

DWORD fccYUY2 = MAKEFOURCC('Y','U','Y','2');
DWORD fccYUY2 = FCC('YUY2');
DWORD fccYUY2 = '2YUY';  // Declares the FOURCC 'YUY2'.

(Dans le dernier exemple, l’inversion de l’ordre d’octet est nécessaire, car Windows utilise une architecture little-endian. 'Y' = 0x59, 'U' = 0x55 et '2' = 0x32, donc '2YUY' est 0x32595559.)

Certaines API DirectX Video Acceleration 2.0 utilisent une valeur D3DFORMAT pour décrire un format vidéo. Un code FOURCC peut également être utilisé dans ce contexte :

D3DFORMAT fmt = (D3DFORMAT)MAKEFOURCC('Y','U','Y','2');
D3DFORMAT fmt = (D3DFORMAT)FCC('YUY2');
D3DFORMAT fmt = D3DFORMAT('2YUY'); // Coerce to D3DFORMAT type.

Constantes FOURCC

Le tableau suivant répertorie certains codes FOURCC courants.

Valeur FOURCC Description
'H264' Vidéo H.264.
'I420' Vidéo YUV stockée au format planaire 4:2:0.
'IYUV' Vidéo YUV stockée au format planaire 4:2:0.
'M4S2' Vidéo MPEG-4 partie 2.
'MP4S' Codec Microsoft MPEG 4 version 3. Ce codec n’est plus pris en charge.
'MP4V' Vidéo MPEG-4 partie 2.
'MPG1' Vidéo MPEG-1.
'MSS1' Contenu encodé avec le codec d’écran Windows Media Video 7.
'MSS2' Contenu encodé avec le codec d’écran Windows Media Video 9.
'UYVY' Vidéo YUV stockée au format packed 4:2:2. Similaire à YUY2, mais avec un ordre différent des données.
'WMV1' Contenu encodé avec le codec Windows Media Video 7.
'WMV2' Contenu encodé avec le codec Windows Media Video 8.
'WMV3' Contenu encodé avec le codec Windows Media Video 9.
'WMVA' Contenu encodé avec l’ancienne version obsolète du codec profil avancé Windows Media Video 9.
'WMVP' Contenu encodé avec le codec d’image Windows Media Video 9.1.
'WVC1' SMPTE 421M (« VC-1 »). Contenu encodé avec le profil avancé Windows Media Video 9.
'WVP2' Contenu encodé avec le codec Windows Media Video 9.1 Image v2.
'YUY2' Vidéo YUV stockée au format packed 4:2:2.
'YV12' Vidéo YUV stockée au format planaire 4:2:0 ou 4:1:1. Identique à I420/IYUV, sauf que les plans you et V sont basculés.
'YVU9' Vidéo YUV stockée au format planaire 16:1:1.
'YVYU' Vidéo YUV stockée au format packed 4:2:2. Similaire à YUY2, mais avec un ordre différent des données.

 

Types de médias vidéo

GUID de sous-type de vidéo