структура DXVA2_VideoProcessorCaps (dxva2api.h)

Описывает возможности режима видеопроцессоров DirectX (DVXA).

Синтаксис

typedef struct _DXVA2_VideoProcessorCaps {
  UINT    DeviceCaps;
  D3DPOOL InputPool;
  UINT    NumForwardRefSamples;
  UINT    NumBackwardRefSamples;
  UINT    Reserved;
  UINT    DeinterlaceTechnology;
  UINT    ProcAmpControlCaps;
  UINT    VideoProcessorOperations;
  UINT    NoiseFilterTechnology;
  UINT    DetailFilterTechnology;
} DXVA2_VideoProcessorCaps;

Члены

DeviceCaps

Определяет тип устройства. Определены следующие значения.

Значение Значение
DXVA2_VPDev_EmulatedDXVA1
Обработка видео DXVA 2.0 эмулируется с помощью DXVA 1.0. Эмулированное устройство может отсутствовать значительных возможностей обработки и иметь более низкое качество и производительность изображения.
DXVA2_VPDev_HardwareDevice
Аппаратное устройство.
DXVA2_VPDev_SoftwareDevice
Программное устройство.

InputPool

Пул памяти Direct3D, используемый устройством.

NumForwardRefSamples

Количество примеров прямого ссылочного кода, необходимых устройству для деинтерлейсинга. Для устройств bob, прогрессивного сканирования и программного обеспечения значение равно нулю.

NumBackwardRefSamples

Количество примеров обратной ссылки, необходимых устройству для деинтерлейсинга. Для устройств bob, прогрессивного сканирования и программного обеспечения значение равно нулю.

Reserved

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

DeinterlaceTechnology

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

Значение Значение
DXVA2_DeinterlaceTech_Unknown
Алгоритм неизвестен или является проприетарным.
DXVA2_DeinterlaceTech_BOBLineReplicate
Алгоритм создает отсутствующие линии, повторяя линию выше или ниже отсутствующих линий. Этот алгоритм создает неровное изображение и не рекомендуется.
DXVA2_DeinterlaceTech_BOBVerticalStretch
Алгоритм создает отсутствующие линии путем усреднения двух линий. Выполняется небольшая вертикальная корректировка, чтобы результирующее изображение не сдвигалось вверх и вниз.
DXVA2_DeinterlaceTech_BOBVerticalStretch4Tap
Алгоритм создает отсутствующие строки, применяя фильтр [−1, 9, 9, −1]/16 в четырех строках. Выполняется небольшая вертикальная корректировка, чтобы результирующее изображение не сдвигалось вверх и вниз.
DXVA2_DeinterlaceTech_MedianFiltering
Алгоритм использует фильтрацию медиан для повторного создания пикселей в отсутствующих строках.
DXVA2_DeinterlaceTech_EdgeFiltering
Алгоритм использует фильтр ребер для создания отсутствующих строк. В этом процессе применяются фильтры пространственного направления для определения ориентации ребер в содержимом рисунка. Отсутствующие пиксели создаются путем фильтрации по обнаруженным краям (а не поперек).
DXVA2_DeinterlaceTech_FieldAdaptive
Алгоритм использует пространственную или темпоральную интерполяцию, переключаясь между ними по полю в зависимости от объема движения.
DXVA2_DeinterlaceTech_PixelAdaptive
Алгоритм использует пространственную или темпоральную интерполяцию, переключаясь между ними на основе пикселя за пикселем в зависимости от объема движения.
DXVA2_DeinterlaceTech_MotionVectorSteered
Алгоритм идентифицирует объекты в последовательности полей видео. Прежде чем воссоздать отсутствующие пиксели, он выравнивает оси перемещения отдельных объектов в сцене, чтобы сделать их параллельными с осью времени.
DXVA2_DeinterlaceTech_InverseTelecine
Устройство может отменить процесс извлечения 3:2, используемый в telecine.

ProcAmpControlCaps

Указывает доступные операции видеопроцессоров (ProcAmp). Значением является побитовое ИЛИ констант параметров ProcAmp .

VideoProcessorOperations

Указывает операции, которые устройство может выполнять одновременно с операцией IDirectXVideoProcessor::VideoProcessBlt . Значением является побитовое ИЛИ следующих флагов.

Значение Значение
DXVA2_VideoProcess_YUV2RGB
Устройство может преобразовать видео из цветового пространства YUV в цветовое пространство RGB с точностью не менее 8 бит для каждого компонента RGB.
DXVA2_VideoProcess_StretchX
Устройство может растянуть или уменьшить видео по горизонтали. Если эта возможность присутствует, коррекция пропорций может выполняться одновременно с деинтерлейсингом.
DXVA2_VideoProcess_StretchY
Устройство может растянуть или сжать видео по вертикали. Если эта возможность присутствует, изменение размера изображения и коррекция пропорций можно выполнять одновременно.
DXVA2_VideoProcess_AlphaBlend
Устройство может альфа-смешивать видео.
DXVA2_VideoProcess_SubRects
Устройство может работать с подпроектом видеокадра. Если эта возможность присутствует, исходные образы можно обрезать перед дальнейшей обработкой.
DXVA2_VideoProcess_SubStreams
Устройство может принимать вложенные потоки в дополнение к основному видеопотоку и композитировать их.
DXVA2_VideoProcess_SubStreamsExtended
Устройство может выполнять настройку цвета в основном видеопотоке и вложенных потоках, в то же время, когда оно деинтерлейсирует видео и композит вложенные потоки. Целевое цветовое пространство определяется в элементе DestFormatструктуры DXVA2_VideoProcessBltParams . Исходное цветовое пространство для каждого потока определяется в элементе SampleFormat структуры DXVA2_VideoSample .
DXVA2_VideoProcess_YUV2RGBExtended
Устройство может преобразовать видео из YUV в цветовое пространство RGB при записи деинтерлейсированных и составных пикселей на целевую поверхность.

Целевая поверхность RGB может быть поверхностью вне экрана, текстурой, целевым объектом отрисовки Direct3D или комбинированной целевой поверхностью текстуры или отрисовки. Целевая поверхность RGB должна использовать не менее 8 бит для каждого цветового канала.

DXVA2_VideoProcess_AlphaBlendExtended
Устройство может выполнять операцию альфа-смешения с целевой поверхностью при записи деинтерлейсированных и составных пикселей на целевую поверхность.
DXVA2_VideoProcess_Constriction
Устройство может понижать выходной кадр, как указано в элементе ConstrictionSizeструктуры DXVA2_VideoProcessBltParams .
DXVA2_VideoProcess_NoiseFilter
Устройство может выполнять фильтрацию шума.
DXVA2_VideoProcess_DetailFilter
Устройство может выполнять фильтрацию сведений.
DXVA2_VideoProcess_PlanarAlpha
Устройство может выполнять константную альфа-смесь ко всему видеопотоку, когда оно композитирует видеопоток и вложенные потоки.
DXVA2_VideoProcess_LinearScaling
Устройство может выполнять точное линейное масштабирование RGB, а не выполнять их в нелинейном гамма-пространстве.
DXVA2_VideoProcess_GammaCompensated
Устройство может исправить изображение, чтобы компенсировать артефакты, появившиеся при масштабировании в нелинейном гамма-пространстве.
DXVA2_VideoProcess_MaintainsOriginalFieldData
Алгоритм деинтерлейсинга сохраняет исходные строки полей из рисунка поля с чередованием, если также не применяется масштабирование.

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

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

NoiseFilterTechnology

Указывает поддерживаемые фильтры шума. Значением является побитовое ИЛИ следующих флагов.

Значение Значение
DXVA2_NoiseFilterTech_Unsupported
Фильтрация шума не поддерживается.
DXVA2_NoiseFilterTech_Unknown
Неизвестный или проприетарный фильтр.
DXVA2_NoiseFilterTech_Median
Фильтр медианы.
DXVA2_NoiseFilterTech_Temporal
Темпоральный фильтр.
DXVA2_NoiseFilterTech_BlockNoise
Фильтр "Блокировать шум".
DXVA2_NoiseFilterTech_MosquitoNoise
Фильтр шума комаров.

DetailFilterTechnology

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

Значение Значение
DXVA2_DetailFilterTech_Unsupported
Фильтрация подробностей не поддерживается.
DXVA2_DetailFilterTech_Unknown
Неизвестный или проприетарный фильтр.
DXVA2_DetailFilterTech_Edge
Пограничный фильтр.
DXVA2_DetailFilterTech_Sharpening
Фильтр резкости.

Требования

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

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

IDirectXVideoProcessor::GetVideoProcessorCaps

IDirectXVideoProcessorService::GetVideoProcessorCaps

IMFVideoProcessor::GetVideoProcessorCaps

Структуры Media Foundation