Video FOURCCs

Vielen Videoformaten sind FOURCC-Codes zugewiesen. Ein FOURCC-Code ist eine 32-Bit-Ganzzahl ohne Vorzeichen, die durch Verkettung von vier ASCII-Zeichen erstellt wird. Der FOURCC-Code für YUY2-Video lautet beispielsweise "YUY2".

Zum Deklarieren von FOURCC-Werten im Quellcode werden verschiedene C/C++-Makros definiert. Das MAKEFOURCC-Makro ist in Mmsystem.h definiert, und das FCC-Makro ist in Aviriff.h und verschiedenen anderen Headerdateien definiert. Sie können einen FOURCC-Code auch direkt als Zeichenfolgenliteral deklarieren, indem Sie einfach die Reihenfolge der Zeichen umkehren. Daher sind die folgenden Anweisungen gleichwertig:

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

(Im letzten Beispiel ist das Umkehren der Bytereihenfolge erforderlich, da Windows eine Little-Endian-Architektur verwendet. "Y" = 0x59, "U" = 0x55 und "2" = 0x32, sodass "2YUY" 0x32595559 ist.)

Einige der DirectX Video Acceleration 2.0-APIs verwenden einen D3DFORMAT-Wert , um ein Videoformat zu beschreiben. Ein FOURCC-Code kann auch in diesem Kontext verwendet werden:

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

FOURCC-Konstanten

In der folgenden Tabelle sind einige gängige FOURCC-Codes aufgeführt.

FOURCC-Wert Beschreibung
"H264" H.264-Video.
"I420" YUV-Video im planaren 4:2:0-Format gespeichert.
"IYUV" YUV-Video im planaren 4:2:0-Format gespeichert.
"M4S2" MPEG-4 Teil 2-Video.
"MP4S" Microsoft MPEG 4 Codec Version 3. Dieser Codec wird nicht mehr unterstützt.
"MP4V" MPEG-4 Teil 2-Video.
"MPG1" MPEG-1-Video.
"MSS1" Inhalte, die mit dem Windows Media Video 7-Bildschirmcodec codiert sind.
"MSS2" Inhalte, die mit dem Windows Media Video 9-Bildschirmcodec codiert sind.
"UYVY" YUV-Video, das im gepackten 4:2:2-Format gespeichert ist. Ähnlich wie YUY2, aber mit unterschiedlicher Reihenfolge der Daten.
"WMV1" Mit dem Windows Media Video 7-Codec codierte Inhalte.
"WMV2" Mit dem Windows Media Video 8-Codec codierte Inhalte.
"WMV3" Mit dem Windows Media Video 9-Codec codierte Inhalte.
WMVA Inhalte, die mit der älteren, veralteten Version des Windows Media Video 9 Advanced Profile-Codecs codiert sind.
WMVP Mit dem Windows Media Video 9.1 Image-Codec codierte Inhalte.
"WVC1" SMPTE 421M ("VC-1"). Mit Windows Media Video 9 Advanced Profile codierte Inhalte.
"WVP2" Inhalte, die mit dem Windows Media Video 9.1 Image v2-Codec codiert sind.
"YUY2" YUV-Video, das im gepackten 4:2:2-Format gespeichert ist.
'YV12' YUV-Video im planaren 4:2:0- oder 4:1:1-Format gespeichert. Identisch mit I420/IYUV, mit der Ausnahme, dass die U- und V-Ebene umgeschaltet sind.
'YVU9' YUV-Video im planaren 16:1:1-Format gespeichert.
'YVYU' YUV-Video, das im gepackten 4:2:2-Format gespeichert ist. Ähnlich wie YUY2, aber mit unterschiedlicher Reihenfolge der Daten.

 

Videomedientypen

Video: Untertyp-GUIDs