Compartilhar via


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:

Captura de tela de uma computação de matriz mostrando uma conversão RGB. 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]. Captura de tela de uma computação de matriz mostrando uma conversão entre um valor de cor RGB e um valor tristimulus CIE XYZ. 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. Captura de tela de uma computação de matriz mostrando uma conversão de um espaço de cor RGB em outro. 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

Confira também

Informações de cor estendidas

Enumerações do Media Foundation