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. |
Zugehörige Themen