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


структура DXVAHDDDI_VPDEVCAPS (d3dumddi.h)

Структура DXVAHDDDI_VPDEVCAPS описывает возможности видеопроцессоров, поддерживаемые устройством декодирования.

Синтаксис

typedef struct _DXVAHDDDI_VPDEVCAPS {
  [in]  UINT        Reserved;
  [out] UINT        DeviceCaps;
  [out] UINT        FeatureCaps;
  [out] UINT        FilterCaps;
  [out] UINT        InputFormatCaps;
  [out] D3DDDI_POOL InputPool;
  [out] UINT        OutputFormatCount;
  [out] UINT        InputFormatCount;
  [out] UINT        VideoProcessorCount;
  [out] UINT        MaxInputStreams;
  [out] UINT        MaxStreamStates;
} DXVAHDDDI_VPDEVCAPS;

Члены

[in] Reserved

Зарезервировано. Должен равняться нулю.

[out] DeviceCaps

Побитовое ЗНАЧЕНИЕ ИЛИ из следующих значений из перечисления DXVAHDDDI_DEVICE_CAPS для указания возможностей конкретного устройства.

DXVAHDDDI_DEVICE_CAPS_LINEAR_SPACE (0x1)

Драйвер может смешивать видеосодержимое в линейном пространстве. Так как видеосодержимое традиционно находится в нелинейном пространстве и исправлено гамма 2.2 (sRGB), драйвер может преобразовать видеоконтент в линейное пространство перед выполнением операций смешивания для достижения лучших результатов.

DXVAHDDDI_DEVICE_CAPS_xvYCC (0x2)

Драйвер может выполнять видеообработку, сохраняя при этом цвет расширенной гаммы, когда драйвер выполняет входные данные из и выводит тип формата YCbCr.

DXVAHDDDI_DEVICE_CAPS_RGB_RANGE_CONVERSION (0x4)

Драйвер может выполнять преобразование диапазона, если входные и выходные данные — это цветовое пространство RGB, но диапазон отличается (например, входные данные — rgb полного диапазона, а выходные данные — rgb с ограниченным диапазоном). Если это значение не задано, драйвер игнорирует диапазон RGB и создает входной поток RGB в выходные данные RGB, не изменяя диапазон.

DXVAHDDDI_DEVICE_CAPS_YCbCr_MATRIX_CONVERSION (0x8)

Драйвер может выполнять преобразование матрицы, если входные и выходные данные представляют собой цветовое пространство YCbCr, но матрица отличается (например, входные данные BT.601, а выходные данные BT.709). Если это значение не задано, драйвер игнорирует матрицу YCbCr и составляет входной поток YCbCr в выходные данные YCbCr без изменения матрицы.

DXVAHDDDI_DEVICE_CAPS_NOMINAL_RANGE (0x10)

Видеопроцессор может выполнять преобразование между диапазонами яркости, когда входные и выходные данные используют разные диапазоны яркости.

Дополнительные сведения о диапазоне яркости см. в разделе Диапазоны форматов YUV в Windows 8.1.

Поддерживается начиная с Windows 8.1.

Драйвер определяет, что форматы XR_BIAS, FP16 и FP32 (форматы широкой гаммы) находятся в линейном пространстве и могут сохранять расширенный цвет гаммы независимо от того, заданы ли предыдущие значения возможностей.

[out] FeatureCaps

Побитовое ИЛИ следующих значений из перечисления DXVAHDDDI_FEATURE_CAPS для указания возможностей, относящихся к конкретной функции.

DXVAHDDDI_FEATURE_CAPS_ALPHA_FILL (0x1)

Драйвер может задать альфа-значения внутри целевого прямоугольника на выходной поверхности, как указано в режиме альфа-заполнения. Дополнительные сведения об этой операции см. в разделе DXVAHDDDI_BLT_STATE_ALPHA_FILL_DATA.

DXVAHDDDI_FEATURE_CAPS_CONSTRICTION (0x2)

Драйвер может выполнить выборку составного целевого прямоугольника. Дополнительные сведения об этой операции см. в разделе DXVAHDDDI_BLT_STATE_CONSTRICTION_DATA.

DXVAHDDDI_FEATURE_CAPS_LUMA_KEY (0x4)

Драйвер может сделать пиксели в диапазоне клавиш luma прозрачными. Дополнительные сведения об этой операции см. в разделе DXVAHDDDI_STREAM_STATE_LUMA_KEY_DATA.

DXVAHDDDI_FEATURE_CAPS_ALPHA_PALETTE (0x8)

Драйвер может применить альфа-значение записи палитры. Дополнительные сведения о альфа-наложении см. в разделе DXVAHDDDI_STREAM_STATE_ALPHA_DATA.

DXVAHDDDI_FEATURE_CAPS_ROTATION (0x10)

Драйвер может применять дискретные значения поворота дисплея к выходной поверхности дисплея. Дополнительные сведения об этой операции см. в разделе DXVAHDDDI_STREAM_STATE_ROTATION_DATA.

Поддерживается начиная с Windows 8.

[out] FilterCaps

Побитовое ИЛИ следующих значений из перечисления DXVAHDDDI_FILTER_CAPS для указания возможностей фильтра.

DXVAHDDDI_FILTER_CAPS_BRIGHTNESS (0x1)

Драйвер поддерживает яркость ProcAmp.

DXVAHDDDI_FILTER_CAPS_CONTRAST (0x2)

Драйвер поддерживает контрастность ProcAmp.

DXVAHDDDI_FILTER_CAPS_HUE (0x4)

Драйвер поддерживает hue ProcAmp.

DXVAHDDDI_FILTER_CAPS_SATURATION (0x8)

Драйвер поддерживает насыщенность ProcAmp.

DXVAHDDDI_FILTER_CAPS_NOISE_REDUCTION (0x10)

Драйвер поддерживает фильтр по снижению шума.

DXVAHDDDI_FILTER_CAPS_EDGE_ENHANCEMENT (0x20)

Драйвер поддерживает фильтр с улучшением границы.

DXVAHDDDI_FILTER_CAPS_ANAMORPHIC_SCALING (0x40)

Драйвер может масштабироваться от исходного прямоугольника до целевого прямоугольника линейно или нелинейно. Если драйвер имеет эту возможность, он может растянуть стандартное видеосодержимое 4:3 до 16:9 широкоэкранного экрана.

[out] InputFormatCaps

Побитовое ЗНАЧЕНИЕ ИЛИ из следующих значений из перечисления DXVAHDDDI_INPUT_FORMAT_CAPS для указания возможностей входного формата.

DXVAHDDDI_INPUT_FORMAT_CAPS_RGB_INTERLACED (0x1)

Драйвер может деинтерлейсировать входной поток с типом формата RGB.

DXVAHDDDI_INPUT_FORMAT_CAPS_RGB_PROCAMP (0x2)

Драйвер может применить фильтр ProcAmp к входным потокам с типом формата RGB.

DXVAHDDDI_INPUT_FORMAT_CAPS_RGB_LUMA_KEY (0x4)

Драйвер может использовать luma-ключ входного потока с типом формата RGB.

DXVAHDDDI_INPUT_FORMAT_CAPS_PALETTE_INTERLACED (0x8)

Драйвер может деинтерлейсировать входной поток с палеттизированным типом формата.

Драйвер может поддерживать предыдущие возможности, а не поддерживать редко используемую обработку видео во входных кадрах. Так как поддержка этих возможностей требует дополнительных действий в конвейере видеопроцессоров, драйвер может не поддерживать их.

Если драйвер поддерживает эти возможности, драйверу может потребоваться определенное цветовое пространство для выполнения обработки входного потока. Например, ProcAmp и клавиши luma выполняются в цветовом пространстве YCbCr. Драйвер ссылается на цветовое пространство состояния потока для выполнения промежуточного преобразования цвета.

Например, когда драйвер устанавливает для RGB_Range и YCbCr_Matrix членов DXVAHDDDI_STREAM_STATE_INPUT_COLOR_SPACE_DATA значения 0 и 1 соответственно, драйвер преобразует полный диапазон RGB в BT.709 YCbCr, прежде чем драйвер применяет ProcAmp, а затем преобразует входной поток обратно во весь диапазон RGB.

[out] InputPool

D3DDDI_POOL типизированное значение, указывающее пул памяти, из которого должны быть выделены входные поверхности.

[out] OutputFormatCount

Число поддерживаемых форматов вывода. Драйвер возвращает массив D3DDDIFORMAT типов перечисления для форматов вывода, поддерживаемых устройством декодирования при вызове функции GetCaps драйвера с заданным значением D3DDDICAPS_DXVAHD_GETVPOUTPUTFORMATS.

[out] InputFormatCount

Количество поддерживаемых форматов ввода. Драйвер возвращает массив D3DDDIFORMAT типов перечисления для входных форматов, поддерживаемых устройством декодирования при вызове функции GetCaps драйвера с D3DDDICAPS_DXVAHD_GETVPINPUTFORMATS значением.

[out] VideoProcessorCount

Количество поддерживаемых видеопроцессоров. Драйвер возвращает массив DXVAHDDDI_VPCAPS структур для возможностей каждого видеопроцессоров, поддерживаемых декодированием при вызове функции GetCaps драйвера с заданным значением D3DDDICAPS_DXVAHD_GETVPCAPS.

[out] MaxInputStreams

Драйвер может включить максимальное количество входных потоков за раз.

[out] MaxStreamStates

Максимальное число состояний потока.

Комментарии

Драйвер отображения пользовательского режима возвращает указатель на заполненную DXVAHDDDI_VPDEVCAPS структуру в элементе pDataструктуры D3DDDIARG_GETCAPS при вызове функции GetCaps со значением D3DDDICAPS_DXVAHD_GETVPDEVCAPS, заданным в элементе Type D3DDDIARG_GETCAPS.

Требования

Требование Значение
Минимальная версия клиента DXVAHDDDI_VPDEVCAPS поддерживается начиная с Windows 7.
Верхняя часть d3dumddi.h (включая D3dumddi.h)

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

D3DDDIARG_GETCAPS

D3DDDIFORMAT

D3DDDI_POOL

DXVAHDDDI_VPCAPS

GetCaps