enumeração DXVA2_VideoTransferFunction (dxva2api.h)
Especifica a função de conversão de RGB linear para RGB não linear (R'G'B'). Esses sinalizadores são usados na estrutura DXVA2_ExtendedFormat.
Syntax
typedef enum _DXVA2_VideoTransferFunction {
DXVA2_VideoTransFuncMask = 0x1f,
DXVA2_VideoTransFunc_Unknown = 0,
DXVA2_VideoTransFunc_10 = 1,
DXVA2_VideoTransFunc_18 = 2,
DXVA2_VideoTransFunc_20 = 3,
DXVA2_VideoTransFunc_22 = 4,
DXVA2_VideoTransFunc_709 = 5,
DXVA2_VideoTransFunc_240M = 6,
DXVA2_VideoTransFunc_sRGB = 7,
DXVA2_VideoTransFunc_28 = 8
} DXVA2_VideoTransferFunction;
Constantes
DXVA2_VideoTransFuncMask Valor: 0x1f Bitmask para validar valores de sinalizador. Esse valor não é um sinalizador válido. |
DXVA2_VideoTransFunc_Unknown Valor: 0 Desconhecida. Trate como DXVA2_VideoTransFunc_709. |
DXVA2_VideoTransFunc_10 Valor: 1 RGB linear (gama = 1,0). |
DXVA2_VideoTransFunc_18 Valor: 2 True 1.8 gamma, L' = L^1/1.8. |
DXVA2_VideoTransFunc_20 Valor: 3 True 2.0 gamma, L' = L^1/2.0. |
DXVA2_VideoTransFunc_22 Valor: 4 True 2.2 gamma, L' = L^1/2.2. Essa função de transferência é usada no ITU-R BT.470-2 System M (NTSC). |
DXVA2_VideoTransFunc_709 Valor: 5 Função de transferência ITU-R BT.709. Curva gama 2.2 com um segmento linear no intervalo inferior. Essa função de transferência é usada em BT.709, BT.601, SMPTE 296M, SMPTE 170M, BT.470 e SMPTE 274M. Além disso, o BT-1361 usa essa função dentro do intervalo [0...1]. |
DXVA2_VideoTransFunc_240M Valor: 6 Função de transferência SMPTE 240M. Curva gama 2.2 com um segmento linear no intervalo inferior. |
DXVA2_VideoTransFunc_sRGB Valor: 7 Função de transferência sRGB. Curva gama 2.4 com um segmento linear no intervalo inferior. |
DXVA2_VideoTransFunc_28 Valor: 8 Verdadeiro gama 2.8. L' = L^1/2,8. Essa função de transferência é usada em ITU-R BT.470-2 Sistema B, G (PAL). |
Comentários
A tabela a seguir mostra as fórmulas para as funções de transferência mais comuns. Nessas fórmulas, L é o valor linear e L' é o valor não linear (corrigido por gama). Esses valores são relativos a um intervalo normalizado [0...1].
Espaço de cores | Função Transfer |
---|---|
sRGB (8 bits) |
L' = 12,92L, para L < 0,031308 L' = 1,055L^1/2,4− 0,055, para L >= 0,031308 |
SISTEMA BT.470-2 B, G | L' = L^0,36 |
SISTEMA BT.470-2 M | L' = L^0,45 |
BT.709 |
L' = 4,50L, para L < 0,018 L' = 1,099L^0,45− 0,099, para L >= 0,018 |
Scrgb | L' = L |
SMPTE 240M |
L' = 4,0L, para L < 0,0228 L' = 1,1115L^0,45− 0,01115, para L >= 0,0228 |
A tabela a seguir mostra as fórmulas inversas para obter os valores originais corrigidos por gama:
Espaço de cores | Função Transfer |
---|---|
sRGB (8 bits) |
L = 1/12,92L', para L' < 0,03928 L = ((L' + 0,055)/1055)^2,4, para L' >= 0,03928 |
SISTEMA BT.470-2 B, G | L = L'^1/0,36 |
SISTEMA BT.470-2 M | L = L'^1/0,45 |
BT.709 |
L = L'/4,50, para L' < 0,081 L = ((L' + 0,099) / 1,099)^1/0,45, para L' >= 0,081 |
Scrgb | L = L' |
SMPTE 240M |
L = L'/4.0, para L' < 0,0913 L= ((L' + 0,1115)/1.1115)^1/0,45, para L' >= 0,0913 |
Essa enumeração é equivalente à enumeração DXVA_VideoTransferFunction usada no DXVA 1.0.
Se você estiver usando a interface IMFMediaType para descrever o formato de vídeo, a função de transferência será especificada no atributo MF_MT_TRANSFER_FUNCTION .
Requisitos
Cliente mínimo com suporte | Windows Vista [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server 2008 [somente aplicativos da área de trabalho] |
Cabeçalho | dxva2api.h |