Vídeo FOURCCs
Muitos formatos de vídeo têm códigos FOURCC atribuídos a eles. Um código FOURCC é um inteiro não assinado de 32 bits que é criado concatenando quatro caracteres ASCII. Por exemplo, o código FOURCC para o vídeo YUY2 é 'YUY2'.
Várias macros C/C++ são definidas para declarar valores FOURCC no código-fonte. A macro MAKEFOURCC é definida em Mmsystem.h, e a macro FCC é definida em Aviriff.h e vários outros arquivos de cabeçalho. Você também pode declarar um código FOURCC diretamente como um literal de cadeia de caracteres simplesmente invertendo a ordem dos caracteres. Assim, as seguintes afirmações são equivalentes:
DWORD fccYUY2 = MAKEFOURCC('Y','U','Y','2');
DWORD fccYUY2 = FCC('YUY2');
DWORD fccYUY2 = '2YUY'; // Declares the FOURCC 'YUY2'.
(No último exemplo, inverter a ordem de bytes é necessário porque o Windows usa uma arquitetura little-endian. 'Y' = 0x59, 'U' = 0x55 e '2' = 0x32, então '2YUY' é 0x32595559.)
Algumas das APIs DirectX Video Acceleration 2.0 usam um valor D3DFORMAT para descrever um formato de vídeo. Um código FOURCC também pode ser usado neste contexto:
D3DFORMAT fmt = (D3DFORMAT)MAKEFOURCC('Y','U','Y','2');
D3DFORMAT fmt = (D3DFORMAT)FCC('YUY2');
D3DFORMAT fmt = D3DFORMAT('2YUY'); // Coerce to D3DFORMAT type.
Constantes FOURCC
A tabela a seguir lista alguns códigos FOURCC comuns.
Valor FOURCC | Descrição |
---|---|
«H264» | Vídeo H.264. |
«I420» | Vídeo YUV armazenado no formato planar 4:2:0. |
«IYUV» | Vídeo YUV armazenado no formato planar 4:2:0. |
«M4S2» | MPEG-4 parte 2 vídeo. |
'MP4S' | Microsoft MPEG 4 codec versão 3. Este codec não é mais suportado. |
'MP4V' | MPEG-4 parte 2 vídeo. |
«MPG1» | Vídeo MPEG-1. |
«MSS1» | Conteúdo codificado com o codec de ecrã do Windows Media Video 7. |
«MSS2» | Conteúdo codificado com o codec de ecrã Windows Media Video 9. |
'UYVY' | Vídeo YUV armazenado no formato embalado 4:2:2. Semelhante ao YUY2, mas com ordenação diferente de dados. |
«WMV1» | Conteúdo codificado com o codec Windows Media Video 7. |
«WMV2» | Conteúdo codificado com o codec Windows Media Video 8. |
«WMV3» | Conteúdo codificado com o codec Windows Media Video 9. |
'WMVA' | Conteúdo codificado com a versão mais antiga e obsoleta do codec Windows Media Video 9 Advanced Profile. |
'WMVP' | Conteúdo codificado com o codec de imagem do Windows Media Video 9.1. |
«WVC1» | SMPTE 421M ("VC-1"). Conteúdo codificado com o Perfil Avançado do Windows Media Video 9. |
'WVP2' | Conteúdo codificado com o codec Windows Media Video 9.1 Image v2. |
'YUY2' | Vídeo YUV armazenado no formato embalado 4:2:2. |
«YV12» | Vídeo YUV armazenado no formato planar 4:2:0 ou 4:1:1. Idêntico ao I420/IYUV exceto que os planos u e V são trocados. |
«YVU9» | Vídeo YUV armazenado em formato planar 16:1:1. |
«YVYU» | Vídeo YUV armazenado no formato embalado 4:2:2. Semelhante ao YUY2, mas com ordenação diferente de dados. |
Tópicos relacionados