Перечисление 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 следующим образом:
Учитывая T, можно использовать следующие формулы для преобразования между значением цвета RGB и тристимуллусным значением CIE XYZ. В этих формулах предполагается, что компоненты RGB являются линейными (не гамма-исправлениями) и нормализованы в диапазоне [0...1]. Чтобы преобразовать цвета непосредственно из одного цветового пространства RGB в другое, используйте следующую формулу, где T1 — матрица для цветового пространства RGB1, А T2 — матрица для цветового пространства RGB2. Чтобы получить наследование этих формул, обратитесь к Чарльзу Пойнтону( 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 |