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 dello schermo di Windows Media Video 7.
'MSS2' Contenuto codificato con il codec dello schermo di Windows Media Video 9.
'UYVY' Video YUV archiviato in formato 4:2:2. Simile a YUY2, ma con ordinamento diverso dei dati.
'WMV1' Contenuto codificato con il codec Windows Media Video 7.
'WMV2' Contenuto codificato con il codec Windows Media Video 8.
'WMV3' Contenuto codificato con il codec Windows Media Video 9.
'WMVA' Contenuto codificato con la versione precedente e obsoleta del codec Profilo avanzato di Windows Media Video 9.
'WMVP' Contenuto codificato con il codec Immagine di Windows Media Video 9.1.
'WVC1' SMPTE 421M ("VC-1"). Contenuto codificato con Il profilo avanzato di Windows Media Video 9.
'WVP2' Contenuto codificato con il codec Image v2 di Windows Media Video 9.1.
'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