Subtipos de vídeo YUV
[O recurso associado a esta página, DirectShow, é um recurso herdado. Ele foi substituído por MediaPlayer, IMFMediaEngine e Captura de Áudio/Vídeo na Media Foundation. Esses recursos foram otimizados para Windows 10 e Windows 11. A Microsoft recomenda fortemente que o novo código use MediaPlayer, IMFMediaEngine e Captura de Áudio/Vídeo no Media Foundation em vez de DirectShow, quando possível. A Microsoft sugere que o código existente que usa as APIs herdadas seja reescrito para usar as novas APIs, se possível.]
Os formatos YUV são categorizados de acordo com as seguintes informações:
Formatos empacotados versus formatos planares. Em um formato empacotado, os componentes Y, U e V são armazenados em uma única matriz. Os pixels são organizados em grupos de macropixels, cujo layout depende do formato. Em um formato planar, os componentes Y, U e V são armazenados separadamente, como três planos.
Amostragem de chroma. Uma notação chamada notação A:B:C é usada para descrever a frequência com que você e V são amostrados em relação a Y:
- 4:4:4 significa nenhum downsampling dos canais chroma.
- 4:2:2 significa 2:1 downsampling horizontal, sem nenhum downsampling vertical. Cada linha de verificação contém quatro exemplos Y para cada dois exemplos de U ou V.
- 4:2:0 significa 2:1 downsampling horizontal, com 2:1 downsampling vertical.
- 4:1:1 significa 4:1 downsampling horizontal, sem nenhum downsampling vertical. Cada linha de verificação contém quatro exemplos Y para cada exemplo de U ou V. A amostragem 4:1:1 é menos comum do que outros formatos e não é discutida em detalhes neste artigo.
Bits por canal. Os tamanhos de exemplo mais comuns são 8, 10 ou 16 bits por exemplo. Alguns formatos YUV são palettizados.
Layout de memória. Dois tipos de formato YUV podem ser idênticos, mas usam ordenações diferentes para os exemplos de Y, V e U na memória.
Formatos YUV recomendados
GUID | Formatar | amostragem | Empacotado ou planar | Bits por canal |
---|---|---|---|---|
MEDIASUBTYPE_AYUV | AYUV | 4:4:4 | Embalado | 8 |
MEDIASUBTYPE_YUY2 | YUY2 | 4:2:2 | Embalado | 8 |
MEDIASUBTYPE_UYVY | UYVY | 4:2:2 | Embalado | 8 |
MEDIASUBTYPE_IMC1 | IMC1 | 4:2:0 | Planar | 8 |
MEDIASUBTYPE_IMC3 | IMC2 | 4:2:0 | Planar | 8 |
MEDIASUBTYPE_IMC2 | IMC3 | 4:2:0 | Planar | 8 |
MEDIASUBTYPE_IMC4 | IMC4 | 4:2:0 | Planar | 8 |
MEDIASUBTYPE_YV12 | YV12 | 4:2:0 | Planar | 8 |
MEDIASUBTYPE_NV12 | NV12 | 4:2:0 | Planar | 8 |
Para obter uma descrição dos formatos YUV para renderização de vídeo no Windows, consulte Formatos YUV recomendados de 8 bits para renderização de vídeo .
Outros tipos de formato YUV
GUID | Formatar | amostragem | Empacotado ou planar | Bits por canal |
---|---|---|---|---|
MEDIASUBTYPE_I420 | I420 | 4:2:0 | Planar | 8 |
MEDIASUBTYPE_IF09 | Não tem mais suporte. Indeo YVU9 |
Não tem mais suporte. Consulte Observações. |
Não tem mais suporte. Planar |
Não tem mais suporte. 8 |
MEDIASUBTYPE_IYUV | IYUV | 4:2:0 | Planar | 8 |
MEDIASUBTYPE_Y211 | Y211 | Consulte Observações. | Embalado | 8 |
MEDIASUBTYPE_Y411 | Y411 | 4:1:1 | Embalado | 8 |
MEDIASUBTYPE_Y41P | Y41P | 4:1:1 | Embalado | 8 |
MEDIASUBTYPE_YVU9 | YVU9 | Consulte Observações. | Planar | 8 |
MEDIASUBTYPE_YVYU | YVYU | 4:2:2 | Embalado | 8 |
I420 consiste em um avião Y, seguido por um avião U, seguido por um avião V.
O IYUV é idêntico ao I420.
Y211 é um formato empacotado, no qual Y é amostrado a cada 2 pixels horizontalmente, e você e V são amostrados a cada 4 pixels horizontalmente. Cada macropixel tem 4 bytes e contém 4 pixels. Ele usa a seguinte ordem de bytes:
Y0 U0 Y2 V0 Y4 U4 Y6 V4 Y8 U8 Y10 V8
Y41P é um formato 4:1:1 empacotado. Ele usa a seguinte ordem de bytes:
U0 Y0 V0 Y1 U4 Y2 V4 Y3 Y4 Y5 Y6 Y7
YVU9 é um formato planar, no qual você e V são amostrados a cada 4 pixels horizontal e verticalmente (às vezes chamado de 16:1:1). O plano V aparece antes do avião U.
O formato Indeo YVU9 (MEDIASUBTYPE_IF09) é uma variação de YVU9 com informações adicionais de quadro delta após o plano U. O codec Indeo não tem mais suporte no Windows.
YVYU é semelhante a UYVY com uma ordem de byte diferente:
Y0 V0 Y1 U0
O codec Indeo não tem mais suporte no Windows.
Requisitos
Requisito | Valor |
---|---|
parâmetro |
|
Confira também