Video FOURCCs

Molti formati video hanno codici FOURCC assegnati a loro. Un codice FOURCC è un intero senza segno a 32 bit creato concatenando quattro caratteri ASCII. Ad esempio, il codice FOURCC per il video YUY2 è "YUY2".

Varie macro C/C++ sono definite per dichiarare i valori FOURCC nel codice sorgente. La macro MAKEFOURCC è definita in Mmsystem.h e la macro FCC viene definita in Aviriff.h e vari altri file di intestazione. È anche possibile dichiarare un codice FOURCC direttamente come valore letterale stringa semplicemente ripristinando l'ordine dei caratteri. Pertanto, le istruzioni seguenti sono equivalenti:

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

Nell'ultimo esempio, è necessario ripristinare l'ordine di byte perché Windows usa un'architettura little-endian. 'Y' = 0x59, 'U' = 0x55 e '2' = 0x32, quindi '2YUY' è 0x32595559.

Alcune delle API DirectX Video Acceleration 2.0 usano un valore D3DFORMAT per descrivere un formato video. Un codice FOURCC può essere usato anche in questo contesto:

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

Costanti FOURCC

La tabella seguente elenca alcuni codici FOURCC comuni.

Valore FOURCC Descrizione
'H264' Video H.264.
'I420' Video YUV archiviato in formato planar 4:2:0.
'IYUV' Video YUV archiviato in formato planar 4:2:0.
'M4S2' Video MPEG-4 parte 2.
'MP4S' Codec Microsoft MPEG 4 versione 3. Questo codec non è più supportato.
'MP4V' Video MPEG-4 parte 2.
'MPEG1' Video MPEG-1.
'MSS1' Contenuto codificato con il codec della schermata Media Video 7 Windows.
'MSS2' Contenuto codificato con il codec della schermata Media Video 9 Windows.
'UYVY' Video YUV archiviato in formato 4:2:2. Simile a YUY2, ma con ordinamento diverso dei dati.
'WMV1' Contenuto codificato con il codec Media Video 7 Windows.
'WMV2' Contenuto codificato con il codec Media Video 8 Windows.
'WMV3' Contenuto codificato con il codec Media Video 9 Windows.
'WMVA' Contenuto codificato con la versione precedente e obsoleta del codec del profilo avanzato Windows Media Video 9.
'WMVP' Contenuto codificato con il codec immagine Windows Video multimediale 9.1.
'WVC1' SMPTE 421M ("VC-1"). Contenuto codificato con Windows Profilo avanzato video multimediale 9.
'WVP2' Contenuto codificato con il codec Media Video 9.1 Image v2 Windows.
'YUY2' Video YUV archiviato in formato 4:2:2.
'YV12' Video YUV archiviato in formato planar 4:2:0 o 4:1:1. Identico a I420/IYUV, ad eccezione del fatto che i piani you e V vengono spostati.
'YVU9' Video YUV archiviato in formato planar 16:1:1.
'YVYU' Video YUV archiviato in formato 4:2:2. Simile a YUY2, ma con ordinamento diverso dei dati.

 

Tipi di supporti video

GUID del sottotipo video