DXVA2_VideoPrimaries enumeração (dxva2api.h)
Especifica as primárias de cores de uma fonte de vídeo. Esses sinalizadores são usados na estrutura DXVA2_ExtendedFormat .
Syntax
typedef enum _DXVA2_VideoPrimaries {
DXVA2_VideoPrimariesMask = 0x1f,
DXVA2_VideoPrimaries_Unknown = 0,
DXVA2_VideoPrimaries_reserved = 1,
DXVA2_VideoPrimaries_BT709 = 2,
DXVA2_VideoPrimaries_BT470_2_SysM = 3,
DXVA2_VideoPrimaries_BT470_2_SysBG = 4,
DXVA2_VideoPrimaries_SMPTE170M = 5,
DXVA2_VideoPrimaries_SMPTE240M = 6,
DXVA2_VideoPrimaries_EBU3213 = 7,
DXVA2_VideoPrimaries_SMPTE_C = 8
} DXVA2_VideoPrimaries;
Constantes
DXVA2_VideoPrimariesMask Valor: 0x1f Máscara de bits para validar valores de sinalizador. Esse valor não é um sinalizador válido. |
DXVA2_VideoPrimaries_Unknown Valor: 0 Desconhecida. Trate como DXVA2_VideoPrimaries_BT709. |
DXVA2_VideoPrimaries_reserved Valor: 1 Reservado. Não use. |
DXVA2_VideoPrimaries_BT709 Valor: 2 ITU-R BT.709. Também usado para sRGB e scRGB. |
DXVA2_VideoPrimaries_BT470_2_SysM Valor: 3 ITU-R BT.470-4 System M (NTSC). |
DXVA2_VideoPrimaries_BT470_2_SysBG Valor: 4 ITU-R BT.470-4 Sistema B,G (PAL). |
DXVA2_VideoPrimaries_SMPTE170M Valor: 5 SMPTE 170M. |
DXVA2_VideoPrimaries_SMPTE240M Valor: 6 SMPTE 240M. |
DXVA2_VideoPrimaries_EBU3213 Valor: 7 EBU Tech. 3213. |
DXVA2_VideoPrimaries_SMPTE_C Valor: 8 SMPTE C (SMPTE RP 145). |
Comentários
As primárias de cores definem como converter cores RGB no espaço de cor CIE XYZ e podem ser usadas para traduzir cores entre diferentes espaços de cores RGB. Um espaço de cor RGB é definido pelas coordenadas de cromática (x,y) das primárias RGB mais o ponto branco, conforme listado na tabela a seguir.
Espaço de cores | (Rx, Ry) | (Gx, Gy) | (Bx, Por) | Ponto branco (Wx, Wy) |
---|---|---|---|---|
BT.709 | (0.64, 0.33) | (0.30, 0.60) | (0.15, 0.06) | D65 (0,3127, 0,3290) |
BT.470-2 Sistema B,G; EBU 3213 | (0.64, 0.33) | (0.29, 0.60) | (0.15, 0.06) | D65 (0,3127, 0,3290) |
BT.470-4 System M | (0.67, 0.33) | (0.21, 0.71) | (0.14, 0.08) | CIE III.C (0.310, 0.316) |
SMPTE 170M; SMPTE 240M; SMPTE C | (0.63, 0.34) | (0.31, 0.595) | (0.155, 0.07) | D65 (0,3127, 0,3291) |
As coordenadas z podem ser derivadas de x e y da seguinte maneira: z = 1 - x - y. Para converter entre cores RGB em valores CIE XYZ tristimulus, calcule uma matriz T da seguinte maneira:
Dado T, você pode usar as fórmulas a seguir para converter entre um valor de cor RGB e um valor tristimulus CIE XYZ. Essas fórmulas pressupõem que os componentes RGB são lineares (não corrigidos por gama) e são normalizados para o intervalo [0...1]. Para converter cores diretamente de um espaço de cor RGB em outro, use a fórmula a seguir, em que T1 é a matriz para o espaço de cores RGB1 e T2 é a matriz para o espaço de cores RGB2. Para obter uma derivação dessas fórmulas, consulte Charles Poynton, Digital Video e HdTV Algorithms and Interfaces (Morgan Kaufmann, 2003).Essa enumeração é equivalente à enumeração DXVA_VideoPrimaries usada no DXVA 1.0.
Se você estiver usando a interface IMFMediaType para descrever o formato de vídeo, as primárias de cor serão especificadas no atributo MF_MT_VIDEO_PRIMARIES .
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 |