Поделиться через


Перечисление DXVA2_VideoPrimaries (dxva2api.h)

Указывает основные цветовые источники видео. Эти флаги используются в структуре DXVA2_ExtendedFormat .

Синтаксис

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;

Константы

 
DXVA2_VideoPrimariesMask
Значение: 0x1f
Битовая маска для проверки значений флагов. Это значение не является допустимым флагом.
DXVA2_VideoPrimaries_Unknown
Значение: 0
Неизвестна. Обрабатывать как DXVA2_VideoPrimaries_BT709.
DXVA2_VideoPrimaries_reserved
Значение: 1
Зарезервировано. Не используется.
DXVA2_VideoPrimaries_BT709
Значение: 2
ITU-R BT.709. Также используется для sRGB и scRGB.
DXVA2_VideoPrimaries_BT470_2_SysM
Значение: 3
ITU-R BT.470-4 System M (NTSC).
DXVA2_VideoPrimaries_BT470_2_SysBG
Значение: 4
ITU-R BT.470-4 Система B,G (PAL).
DXVA2_VideoPrimaries_SMPTE170M
Значение: 5
SMPTE 170M.
DXVA2_VideoPrimaries_SMPTE240M
Значение: 6
SMPTE 240M.
DXVA2_VideoPrimaries_EBU3213
Значение: 7
EBU Tech. 3213.
DXVA2_VideoPrimaries_SMPTE_C
Значение: 8
SMPTE C (SMPTE RP 145).

Комментарии

Основные цветовые элементы определяют способ преобразования цветов RGB в цветовое пространство CIE XYZ и могут использоваться для преобразования цветов между различными цветовыми пространствами RGB. Цветовое пространство RGB определяется координатами хроматичности (x,y) первичных объектов RGB и белой точкой, как показано в следующей таблице.

Цветовое пространство (Rx, Ry) (Gx, Gy) (Bx, By) Белая точка (Wx, Wy)
BT.709 (0.64, 0.33) (0.30, 0.60) (0.15, 0.06) D65 (0,3127, 0,3290)
BT.470-2 Система B,G; EBU 3213 (0.64, 0.33) (0.29, 0.60) (0.15, 0.06) D65 (0,3127, 0,3290)
BT.470-4 Система 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)
 

Координаты z можно получить от x и y следующим образом: z = 1 - x - y. Чтобы преобразовать цвета RGB в тристимуловые значения CIE XYZ, вычислить матрицу T следующим образом:

Снимок экрана: матричное вычисление, показывающее преобразование RGB. Учитывая T, можно использовать следующие формулы для преобразования между значением цвета RGB и тристимуллусным значением CIE XYZ. В этих формулах предполагается, что компоненты RGB являются линейными (не гамма-исправлениями) и нормализованы в диапазоне [0...1]. Снимок экрана: матричное вычисление, показывающее преобразование между значением цвета RGB и тристимуллусным значением CIE XYZ. Чтобы преобразовать цвета непосредственно из одного цветового пространства RGB в другое, используйте следующую формулу, где T1 — матрица для цветового пространства RGB1, А T2 — матрица для цветового пространства RGB2. Снимок экрана: вычисление матрицы с преобразованием одного цветового пространства RGB в другое. Чтобы получить наследование этих формул, обратитесь к Чарльзу Пойнтону( Charles Poynton), Digital Video and HDTV Algorithms and Interfaces (Morgan Kaufmann, 2003).

Это перечисление эквивалентно перечислению DXVA_VideoPrimaries , используемому в DXVA 1.0.

Если вы используете интерфейс IMFMediaType для описания формата видео, основные цветовые элементы указываются в атрибуте MF_MT_VIDEO_PRIMARIES .

Требования

   
Минимальная версия клиента Windows Vista [только классические приложения]
Минимальная версия сервера Windows Server 2008 [только классические приложения]
Верхняя часть dxva2api.h

См. также раздел

Расширенные сведения о цвете

Перечисления Media Foundation