структура DXVADDI_VIDEOPROCESSORCAPS (d3dumddi.h)
Структура DXVADDI_VIDEOPROCESSORCAPS описывает возможности обработки видео в определенном режиме деинтерлейки.
Синтаксис
typedef struct _DXVADDI_VIDEOPROCESSORCAPS {
[out] D3DDDI_POOL InputPool;
[out] UINT NumForwardRefSamples;
[out] UINT NumBackwardRefSamples;
[out] D3DDDIFORMAT OutputFormat;
[out] UINT DeinterlaceTechnology;
[out] UINT ProcAmpControlCaps;
[out] UINT VideoProcessorOperations;
[out] UINT NoiseFilterTechnology;
[out] UINT DetailFilterTechnology;
} DXVADDI_VIDEOPROCESSORCAPS;
Члены
[out] InputPool
D3DDDI_POOL типизированное значение, указывающее пул памяти, из которого должны быть выделены чередующиеся исходные поверхности.
[out] NumForwardRefSamples
Необходимое количество примеров прямого ссылочного кода для определенного режима деинтерлейки. Примеры находятся в последующих полях. Это значение равно нулю для смешивания бобов и строк и может быть и другими значениями (например, 1, 2 или 3) для адаптивного деинтерлакирования и преобразования частоты кадров.
[out] NumBackwardRefSamples
Обязательные примеры обратной ссылки для определенного режима деинтерлейки. Примеры находятся в предыдущих полях. Это значение равно нулю для боба, 1 для смешивания строк и может быть другим значением (например, 1, 2 или 3) для адаптивной деинтерлейки и преобразования частоты кадров.
[out] OutputFormat
D3DDDIFORMAT типизированное значение, указывающее формат пикселей несжатых выходных кадров. Как правило, алгоритм деинтерлейки выводит кадры в формате пикселей, который соответствует формату входной выборки. Этот элемент гарантирует, что отрисовщик смешивания видео (VMR) или другой отрисовщик видео сможет предоставить правильные поверхности выходного кадра на оборудование деинтерлейки.
Обратите внимание, что если значение DXVADDI_VIDEOPROCESS_YUV2RGB возвращается в элементе VideoProcessorOperations , VMR определяет, что допустимые форматы выходных данных задаются этим элементом, а также форматом D3DFMT_X8R8G8B8.
[out] DeinterlaceTechnology
Побитовое ЗНАЧЕНИЕ ИЛИ из следующих значений, указывающее базовую технологию деинтерлейсинга, используемую для реализации алгоритма деинтерлакизации. Значения можно объединять по мере необходимости, чтобы наиболее точно соответствовать реализации алгоритма.
Значение | Значение |
---|---|
DXVADDI_DEINTERLACETECH_UNKNOWN | Технология деинтерлейки неизвестна. |
DXVADDI_DEINTERLACETECH_BOBLINEREPLICATE | Алгоритм деинтерлейки создает отсутствующие строки, повторяя линию над или под отсутствующими линиями. Этот метод выглядит неровным и не рекомендуется. |
DXVADDI_DEINTERLACETECH_BOBVERTICALSTRETCH | Алгоритм деинтерлейки, который создает отсутствующие линии, вертикально растягивая каждое поле видео в два коэффициента путем усреднения двух строк. Небольшие вертикальные корректировки позволяют гарантировать, что результирующее изображение не перемещается вверх и вниз. |
DXVADDI_DEINTERLACETECH_BOBVERTICALSTRETCH4TAP | Алгоритм деинтерлейки, который создает отсутствующие линии путем вертикального растяжения каждого поля видео в два раз с помощью фильтра [-1, 9, 9, -1] / 16 на четыре строки. Небольшие вертикальные корректировки позволяют гарантировать, что результирующее изображение не перемещается вверх и вниз. |
DXVADDI_DEINTERLACETECH_MEDIANFILTERING | Пиксели в отсутствующих строках воссоздаются операцией медианы фильтрации. |
DXVADDI_DEINTERLACETECH_EDGEFILTERING | Пиксели в отсутствующих строках воссоздаются фильтром ребер. В этом процессе фильтры пространственного направления применяются для определения ориентации ребер в содержимом рисунка, а отсутствующие пиксели создаются путем фильтрации вдоль (а не по) обнаруженным краям. |
DXVADDI_DEINTERLACETECH_FIELDADAPTIVE | Пиксели в отсутствующих строках воссоздаются путем переключения между пространственной или темпоральной интерполяцией по полю в зависимости от объема движения. |
DXVADDI_DEINTERLACETECH_PIXELADAPTIVE | Пиксели в отсутствующих линиях воссоздаются путем переключения между пространственной или темпоральной интерполяцией по пикселям в зависимости от объема движения. |
DXVADDI_DEINTERLACETECH_MOTIONVECTORSTEERED | Объекты в последовательности полей видео. Отсутствующие пиксели воссоздаются после первого выравнивания оси перемещения отдельных объектов в сцене, чтобы сделать их параллельными с осью времени. |
DXVADDI_DEINTERLACETECH_INVERSETELECINE | Алгоритм деинтерлейки, который может отменить процесс с раскрывающимся списком 3:2, который используется для отображения содержимого 24 Гц на дисплеях с частотой 60 Гц, 25 Гц-содержимого на дисплеях с частотой 50 Гц и т. д. |
[out] ProcAmpControlCaps
Побитовое ИЛИ следующих значений для указания операций ProcAmp, поддерживаемых оборудованием.
Значение | Значение |
---|---|
DXVADDI_PROCAMP_NONE | Оборудование не поддерживает операции ProcAmp. |
DXVADDI_PROCAMP_BRIGHTNESS | Настройка яркости для видеоизука разрешена. |
DXVADDI_PROCAMP_CONTRAST | Настройка контрастности для видеоимнима разрешена. |
DXVADDI_PROCAMP_HUE | Настройка оттенка видеоизообращения разрешена. |
DXVADDI_PROCAMP_SATURATION | Допускается корректировка насыщенности видеоизрения. |
[out] VideoProcessorOperations
Побитовое ИЛИ из следующих значений, чтобы указать, какие дополнительные операции обработки видео оборудование может выполнять одновременно с запрошенной операцией VideoProcessBlt .
Значение | Значение |
---|---|
DXVADDI_VIDEOPROCESS_NONE | Оборудование не может выполнять больше операций обработки видео. |
DXVADDI_VIDEOPROCESS_YUV2RGB | Допускается преобразование видео из цветового пространства YUV в цветовое пространство RGB. Используемый формат RGB имеет по крайней мере 8 бит точности для каждого компонента цвета. Если эта операция возможна, можно избежать копирования буфера в VMR. Обратите внимание, что преобразование цветового пространства RGB в цветовое пространство YUV не требуется. |
DXVADDI_VIDEOPROCESS_STRETCHX | Коррекция пропорций может быть выполнена в то же время, когда видео регулируется ProcAmp, если оборудование может растягиваться или сжиматься по горизонтали. |
DXVADDI_VIDEOPROCESS_STRETCHY | Настройка пропорций объединяется с общей операцией изменения размера изображения для масштабирования видеоизука в пространстве композиции, определяемом приложением. Эта операция является редкой и не является важной функцией. Лучше всего, если масштабирование, необходимое для изменения размера видео в окне приложения, можно выполнить одновременно с масштабированием, необходимым для настройки ProcAmp. Этот тип операции позволяет избежать кумулятивных артефактов. |
DXVADDI_VIDEOPROCESS_ALPHABLEND | VmR не выполняет копирование буфера при изменении альфа-значения. Приложения редко изменяют постоянное альфа-значение, связанное с видеопотоком, поэтому эта операция является низкоприоритетной функцией. |
DXVADDI_VIDEOPROCESS_SUBRECTS | Устройство обработки видео может работать с подпроектной областью видеоизука. Эта операция полезна, если перед дальнейшей обработкой видеообреза необходимо обрезать по мере уменьшения размера выходного кадра. |
DXVADDI_VIDEOPROCESS_SUBSTREAMS | Устройство обработки видео может объединять вложенные видеопотоки с видеопотоком. |
DXVADDI_VIDEOPROCESS_SUBSTREAMSEXTENDED | В исходные видеопотоки и вложенные потоки можно внести необходимые корректировки цвета. Эти корректировки указываются в расширенных данных о цвете, так как видео деинтерлейсируется, композитируется с вложенными потоками и записывается в область назначения. |
DXVADDI_VIDEOPROCESS_YUV2RGBEXTENDED | Операция преобразования цветового пространства может быть выполнена при записи обесцеженных и составных пикселей на конечную поверхность с помощью расширенных сведений о цвете, указанных для исходной и целевой поверхностей. |
DXVADDI_VIDEOPROCESS_ALPHABLENDEXTENDED | Операция альфа-смешения может выполняться с целевой поверхностью, когда в конечную поверхность записываются деинтерлакированные и составные пиксели. Драйвер должен обрабатывать цвет фона на основе значения альфа-элемента D3DDDIARG_VIDEOPROCESSBLT структуры. Если альфа-значение равно 1,0, цвет фона рисуется непрозрачным (без прозрачности). Если альфа-значение равно 0,0, фон не должен быть нарисован (прозрачный). |
DXVADDI_VIDEOPROCESS_CONSTRICTION | Устройство обработки видео может временно уменьшить выходной кадр до размера, указанного элементом ConstrictionSize структуры D3DDDIARG_VIDEOPROCESSBLT . |
DXVADDI_VIDEOPROCESS_NOISEFILTER | Устройство обработки видео может выполнять операции фильтрации шума в видеопотоке. |
DXVADDI_VIDEOPROCESS_DETAILFILTER | Устройство обработки видео может выполнять операции фильтрации сведений в видеопотоке. |
DXVADDI_VIDEOPROCESS_PLANARALPHA | Устройство обработки видео может применять константную альфа-смесь ко всему видеопотоку (плоскости), одновременно смешивая видеопоток и вложенные потоки. Альфа-член D3DDDIARG_VIDEOPROCESSBLT указывает альфа-значение. |
DXVADDI_VIDEOPROCESS_LINEARSCALING | Устройство обработки видео может линейно масштабировать видеопоток. |
DXVADDI_VIDEOPROCESS_GAMMACOMPENSATED | Устройство обработки видео может выполнять гамма-преобразование в видеопотоке. |
DXVADDI_VIDEOPROCESS_MAINTAINSORIGINALFIELDDATA | Устройство обработки видео может поддерживать исходные данные полей. |
[out] NoiseFilterTechnology
Побитовое ЗНАЧЕНИЕ ИЛИ следующих значений для указания базовой технологии, используемой для реализации фильтрации шума. Значения можно комбинировать по мере необходимости, чтобы максимально точно соответствовать реализации фильтра шума.
Значение | Значение |
---|---|
DXVADDI_NOISEFILTERTECH_UNSUPPORTED | Технология фильтрации шума не поддерживается. |
DXVADDI_NOISEFILTERTECH_UNKNOWN | Технология фильтрации шума неизвестна. |
DXVADDI_NOISEFILTERTECH_MEDIAN | Устройство обработки видео использует фильтрацию медиан шума. |
DXVADDI_NOISEFILTERTECH_TEMPORAL | Устройство обработки видео использует темпоральную фильтрацию шума. |
DXVADDI_NOISEFILTERTECH_BLOCKNOISE | Устройство обработки видео использует фильтрацию блочного шума. |
DXVADDI_NOISEFILTERTECH_MOSQUITONOISE | Устройство обработки видео использует фильтрацию шума комаров. |
[out] DetailFilterTechnology
Побитовое ЗНАЧЕНИЕ ИЛИ следующих значений, чтобы указать базовую технологию, используемую для реализации фильтрации сведений. Значения можно объединять по мере необходимости, чтобы максимально точно соответствовать реализации фильтра детализации.
Значение | Значение |
---|---|
DXVADDI_DETAILFILTERTECH_UNSUPPORTED | Технология фильтрации сведений не поддерживается. |
DXVADDI_DETAILFILTERTECH_UNKNOWN | Технология фильтрации сведений неизвестна. |
DXVADDI_DETAILFILTERTECH_EDGE | Устройство обработки видео использует фильтрацию сведений по краям. |
DXVADDI_DETAILFILTERTECH_SHARPENING | Устройство обработки видео использует фильтрацию детализации. |
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Доступно в Windows Vista и более поздних версиях операционных систем Windows. |
Верхняя часть | d3dumddi.h (включая D3dumddi.h) |