структура 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) |