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
«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.

 

tipos de mídia de vídeo

de GUIDs de subtipo de vídeo