Partilhar via


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
AV01 Vídeo AOMedia 1.
AVP Vídeo Profissional Avançado (APV).
'H263' Vídeo H.263.
«H264» Vídeo H.264.
«I420» Vídeo YUV armazenado no formato planar 4:2:0.
«I422» Vídeo YUV armazenado em formato planar 4:2:2.
«I444» Vídeo YUV armazenado em formato planar 4:4:4.
«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.
'Theo' Vídeo da Theora.
'UYVY' Vídeo YUV armazenado no formato embalado 4:2:2. Semelhante ao YUY2, mas com ordenação diferente de dados.
'VP10' Vídeo VP10.
«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.

 

tipos de mídia de vídeo

de GUIDs de subtipo de vídeo