Video FOURCCs
Aan veel video-indelingen zijn FOURCC-codes toegewezen. Een FOURCC-code is een 32-bits geheel getal zonder teken dat wordt gemaakt door vier ASCII-tekens samen te heffen. De FOURCC-code voor YUY2-video is bijvoorbeeld 'YUY2'.
Verschillende C/C++-macro's worden gedefinieerd voor het declareren van FOURCC-waarden in broncode. De MAKEFOURCC- macro wordt gedefinieerd in Mmsystem.h en de FCC- macro wordt gedefinieerd in Aviriff.h en verschillende andere headerbestanden. U kunt een FOURCC-code ook rechtstreeks declareren als een letterlijke tekenreeks door de volgorde van de tekens om te draaien. De volgende beweringen zijn dus gelijkwaardig:
DWORD fccYUY2 = MAKEFOURCC('Y','U','Y','2');
DWORD fccYUY2 = FCC('YUY2');
DWORD fccYUY2 = '2YUY'; // Declares the FOURCC 'YUY2'.
(In het laatste voorbeeld is het omkeren van de bytevolgorde nodig omdat Windows gebruikmaakt van een little-endian-architectuur. 'Y' = 0x59, 'U' = 0x55 en '2' = 0x32, dus '2YUY' is 0x32595559.)
Sommige api's van DirectX Video Acceleration 2.0 gebruiken een D3DFORMAT waarde om een video-indeling te beschrijven. In deze context kan ook een FOURCC-code worden gebruikt:
D3DFORMAT fmt = (D3DFORMAT)MAKEFOURCC('Y','U','Y','2');
D3DFORMAT fmt = (D3DFORMAT)FCC('YUY2');
D3DFORMAT fmt = D3DFORMAT('2YUY'); // Coerce to D3DFORMAT type.
FOURCC-constanten
De volgende tabel bevat enkele veelvoorkomende FOURCC-codes.
FOURCC-waarde | Beschrijving |
---|---|
'H264' | H.264 video. |
'I420' | YUV-video opgeslagen in planar 4:2:0-indeling. |
'IYUV' | YUV-video opgeslagen in planar 4:2:0-indeling. |
'M4S2' | MPEG-4 deel 2 video. |
MP4S | Microsoft MPEG 4 codec versie 3. Deze codec wordt niet meer ondersteund. |
'MP4V' | MPEG-4 deel 2 video. |
'MPG1' | MPEG-1-video. |
MSS1 | Inhoud die is gecodeerd met de schermcodec van Windows Media Video 7. |
MSS2 | Inhoud die is gecodeerd met de schermcodec van Windows Media Video 9. |
'UYVY' | YUV-video opgeslagen in verpakte 4:2:2-indeling. Vergelijkbaar met YUY2, maar met verschillende volgorde van gegevens. |
'WMV1' | Inhoud gecodeerd met de Windows Media Video 7-codec. |
'WMV2' | Inhoud die is gecodeerd met de Windows Media Video 8-codec. |
'WMV3' | Inhoud die is gecodeerd met de Windows Media Video 9-codec. |
'WMVA' | Inhoud die is gecodeerd met de oudere, verouderde versie van de Windows Media Video 9 Advanced Profile-codec. |
'WMVP' | Inhoud die is gecodeerd met de Windows Media Video 9.1-afbeeldingscodec. |
'WVC1' | SMPTE 421M ("VC-1"). Inhoud gecodeerd met Windows Media Video 9 Advanced Profile. |
'WVP2' | Inhoud gecodeerd met de Windows Media Video 9.1 Image v2 codec. |
'YUY2' | YUV-video opgeslagen in verpakte 4:2:2-indeling. |
'YV12' | YUV-video opgeslagen in planar 4:2:0 of 4:1:1. Identiek aan I420/IYUV, behalve dat de u- en V-vliegtuigen worden overgeschakeld. |
'YVU9' | YUV-video opgeslagen in planar 16:1:1-indeling. |
'YVYU' | YUV-video opgeslagen in verpakte 4:2:2-indeling. Vergelijkbaar met YUY2, maar met verschillende volgorde van gegevens. |
Verwante onderwerpen