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


перечисление DXVA2_NominalRange (dxva2api.h)

Описывает, как сопоставить цветовые данные с нормализованным диапазоном [0...1].

Эти флаги используются в структуре DXVA2_ExtendedFormat . Они указывают, включает ли диапазон значений цвета запастисью (значения выше 100 % белого цвета) и номером для ног (значения ниже ссылаются на черный цвет).

Синтаксис

typedef enum _DXVA2_NominalRange {
  DXVA2_NominalRangeMask = 0x7,
  DXVA2_NominalRange_Unknown = 0,
  DXVA2_NominalRange_Normal = 1,
  DXVA2_NominalRange_Wide = 2,
  DXVA2_NominalRange_0_255 = 1,
  DXVA2_NominalRange_16_235 = 2,
  DXVA2_NominalRange_48_208 = 3
} DXVA2_NominalRange;

Константы

 
DXVA2_NominalRangeMask
Значение: 0x7
Битовая маска для проверки значений флагов. Это значение не является допустимым флагом.
DXVA2_NominalRange_Unknown
Значение: 0
Неизвестный или неопределенный номинальный диапазон.

Если это значение используется в элементе DestFormatструктуры DXVA2_VideoProcessBltParams , драйвер определит оптимальный номинальный диапазон на основе цветового пространства назначения. Например, целевая поверхность обычно sRGB, которая имеет номинальный диапазон от 0 до 255 на канал. Однако драйвер может использовать такой метод, как автоматическое управление получением, для максимального увеличения динамического диапазона при сохранении значений выше ссылочного белого.
DXVA2_NominalRange_Normal
Значение: 1
Эквивалентно DXVA2_NominalRange_0_255.
DXVA2_NominalRange_Wide
Значение: 2
Эквивалентно DXVA2_NominalRange_16_235.
DXVA2_NominalRange_0_255
Значение: 1
Нормализованный диапазон [0...1] сопоставляется с [0...255] для 8-разрядных выборок или [0...1023] для 10-разрядных выборок.
DXVA2_NominalRange_16_235
Значение: 2
Нормализованный диапазон [0...1] сопоставляется с [16...235] для 8-разрядных выборок или [64...940] для 10-разрядных выборок.
DXVA2_NominalRange_48_208
Значение: 3
Нормализованный диапазон [0..1] сопоставляется с [48...208] для 8-разрядных выборок или [192...832] для 10-разрядных выборок.

Комментарии

Для цветов YUV эти флаги указывают способ преобразования между Y'CbCr и Y'PbPr. Цветовое пространство Y'PbPr имеет диапазон [0..1] для Y' (luma) и [-0,5...0,5] для Pb/Pr (chroma).

Значение Описание
DXVA2_NominalRange_0_255 Не следует использовать для данных YUV.
DXVA2_NominalRange_16_235 Для 8-разрядных компонентов Y'CbCr:
  • Диапазон Y [0...1] сопоставляется с [16..235] для 8-разрядных значений Y'.
  • Диапазоны Pb/Pr [-0,5...0,5] сопоставляют с [16...240] для 8-разрядных значений Cb/Cr.
Для примеров с точностью n битов общие формулы:
  • Y' = (Y' * 219 + 16) * 2 ^ (n-8)
  • Cb = (Pb * 224 + 128) * 2 ^ (n-8)
  • Cr = (Pr * 224 + 128) * 2 ^ (n-8)
Обратные уравнения для преобразования из Y'CbCr в Y'PbPr:
  • Y' = (Y' / 2 ^ (n-8) - 16) / 219
  • Pb = (Cb / 2 ^ (n-8) - 128) / 224
  • Pr = (Cr / 2 ^ (n-8) - 128) / 224
DXVA2_NominalRange_48_208 Для 8-разрядных значений Y'CbCr диапазон Y' [0..1] сопоставляется с [48...208].
 

Для цветов RGB флаги различают различные rgb-пространства.

Значение Описание
DXVA2_NominalRange_0_255 Srgb
DXVA2_NominalRange_16_235 Studio RGB; ITU-R BT.709
DXVA2_NominalRange_48_208 ITU-R BT.1361 RGB
 

Видеоданные могут содержать значения выше или ниже номинального диапазона.

Примечание Значения с именами DXVA2_NominalRange_Normal и DXVA2_NominalRange_Wide являются потенциальным источником путаницы. Широкий — это возможный диапазон аналоговых значений, который может быть представлен путем сопоставления номинального диапазона [0...1] в более узкий диапазон цифровых значений . Поскольку значение wide в этом контексте неоднозначно, предпочтительнее использовать эквивалентные значения с именами DXVA2_NominalRange_0_255 и DXVA2_NominalRange_16_235. Эти имена явно передают значение перечисления и с меньшей вероятностью будут неправильно интерпретированы.
 
Это перечисление эквивалентно перечислению DXVA_NominalRange , используемому в DXVA 1.0, хотя оно определяет дополнительные значения.

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

Требования

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

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

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

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