Vídeo FOURCC

Muchos formatos de vídeo tienen códigos FOURCC asignados. Un código FOURCC es un entero de 32 bits sin signo que se crea concatenando cuatro caracteres ASCII. Por ejemplo, el código FOURCC para el vídeo YUY2 es "YUY2".

Se definen varias macros de C/C++ para declarar valores FOURCC en el código fuente. La macro MAKEFOURCC se define en Mmsystem.h y la macro FCC se define en Aviriff.h y en otros archivos de encabezado. También puede declarar un código FOURCC directamente como literal de cadena simplemente revirtiendo el orden de los caracteres. Por lo tanto, las siguientes instrucciones son equivalentes:

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

(En el último ejemplo, es necesario revertir el orden de bytes porque Windows usa una arquitectura little-endian. 'Y' = 0x59, 'U' = 0x55 y '2' = 0x32, por lo que '2YUY' es 0x32595559).)

Algunas de las API de DirectX Video Acceleration 2.0 usan un valor D3DFORMAT para describir un formato de vídeo. También se puede usar un código FOURCC en este contexto:

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

Constantes FOURCC

En la tabla siguiente se enumeran algunos códigos FOURCC comunes.

Valor FOURCC Descripción
'H264' Vídeo H.264.
'I420' Vídeo YUV almacenado en formato planar 4:2:0.
'IYUV' Vídeo YUV almacenado en formato planar 4:2:0.
'M4S2' Vídeo MPEG-4, parte 2.
"MP4S" Microsoft MPEG 4 códec versión 3. Este códec ya no se admite.
'MP4V' Vídeo MPEG-4, parte 2.
'MPG1' Vídeo MPEG-1.
'MSS1' Contenido codificado con el códec de pantalla Windows Media Video 7.
'MSS2' Contenido codificado con el códec de pantalla Windows Media Video 9.
'UYVY' Vídeo YUV almacenado en formato empaquetado 4:2:2. Similar a YUY2, pero con un orden diferente de los datos.
'WMV1' Contenido codificado con el códec Windows Media Video 7.
'WMV2' Contenido codificado con el códec Windows Media Video 8.
'WMV3' Contenido codificado con el códec Windows Media Video 9.
'WMVA' Contenido codificado con la versión anterior obsoleta del códec Windows Media Video 9 Advanced Profile.
'WMVP' Contenido codificado con el códec Imagen de Windows Media Video 9.1.
'WVC1' SMPTE 421M ("VC-1"). Contenido codificado con el perfil avanzado de Windows Media Video 9.
'WVP2' Contenido codificado con el códec Windows Media Video 9.1 Image v2.
'YUY2' Vídeo YUV almacenado en formato empaquetado 4:2:2.
'YV12' Vídeo YUV almacenado en formato planar 4:2:0 o 4:1:1. Idéntico a I420/IYUV, excepto que se cambian los planos you y V.
'YVU9' Vídeo YUV almacenado en formato planar 16:1:1.
'YVYU' Vídeo YUV almacenado en formato empaquetado 4:2:2. Similar a YUY2, pero con un orden diferente de los datos.

 

Tipos de medios de vídeo

GUID de subtipo de vídeo