перечисление DXVA_VideoProcessCaps (dxva.h)
Перечисление DXVA_VideoProcessCaps определяет операции, которые могут выполняться одновременно с запрошенным деинтерлейсом.
Синтаксис
typedef enum _DXVA_VideoProcessCaps {
DXVA_VideoProcess_None,
DXVA_VideoProcess_YUV2RGB,
DXVA_VideoProcess_StretchX,
DXVA_VideoProcess_StretchY,
DXVA_VideoProcess_AlphaBlend,
DXVA_VideoProcess_SubRects,
DXVA_VideoProcess_SubStreams,
DXVA_VideoProcess_SubStreamsExtended,
DXVA_VideoProcess_YUV2RGBExtended,
DXVA_VideoProcess_AlphaBlendExtended
} DXVA_VideoProcessCaps;
Константы
DXVA_VideoProcess_None Указывает, что деинтерлейсное оборудование может выполнять только основные операции деинтерлейс. То есть операции деинтерлейс, которые не объединяются с другими операциями, такими как преобразование цвета, альфа-смешения, растяжение, подраздел или подпоток. |
DXVA_VideoProcess_YUV2RGB Указывает, что деинтерлейсное оборудование может преобразовывать видео из цветового пространства YUV в цветовое пространство RGB. Формат RGB будет иметь по крайней мере 8 бит точности для каждого компонента цвета. По возможности можно избежать копирования буфера в VMR. Все драйверы должны поддерживать эту операцию для режима деинтерлейс боба. Не используется с функцией DeinterlaceBltEx . |
DXVA_VideoProcess_StretchX Указывает, что коррекция пропорций может выполняться одновременно при деинтерлейсовке видео, если деинтерлейсер может растянуться или сжаться по горизонтали. Перечислитель должен поддерживаться для режима деинтерлейс боба. Должен использовать с функцией DeinterlaceBltEx . |
DXVA_VideoProcess_StretchY Указывает, что корректировка пропорций сочетается с общей операцией изменения размера изображения для масштабирования видеоизучения. Должен использовать с функцией DeinterlaceBltEx . |
DXVA_VideoProcess_AlphaBlend Указывает, что VMR не будет выполнять копирование буфера при изменении альфа-значения. Приложения редко изменяют постоянное альфа-значение, связанное с видеопотоком, поэтому эта функция является низкоприоритетной. Перечислитель должен поддерживаться для режима деинтерлейс боба. Не используется с функцией DeinterlaceBltEx . |
DXVA_VideoProcess_SubRects Указывает, что деинтерлейсное оборудование может деинтерлейсировать только часть области видеоинтерлейса в указанное место назначения. Это полезно, если перед дальнейшей обработкой необходимо обрезать видеоимоско, так как размер выходного кадра уменьшается. |
DXVA_VideoProcess_SubStreams Только Windows Server 2003 с пакетом обновления 1 (SP1) и более поздних версий, а также Windows XP с пакетом обновления 2 (SP2) и более поздних версий. Указывает, что деинтерлейсное оборудование может объединять подпотоки видео с видеопотоком. Должен использовать с функцией DeinterlaceBltEx . |
DXVA_VideoProcess_SubStreamsExtended Только Windows Server 2003 с пакетом обновления 1 (SP1) и более поздних версий, а также Windows XP с пакетом обновления 2 (SP2) и более поздних версий. Указывает, что в исходные видеопотоки и вложенные потоки можно внести необходимые изменения цвета. Эти корректировки указываются в расширенных данных цвета, так как видео деинтерлейсируется, композитируется с вложенными потоками и записывается в целевую поверхность. Должен использовать с функцией DeinterlaceBltEx . |
DXVA_VideoProcess_YUV2RGBExtended Только Windows Server 2003 с пакетом обновления 1 (SP1) и более поздних версий, а также Windows XP с пакетом обновления 2 (SP2) и более поздних версий. Указывает, что операция преобразования цветового пространства может быть выполнена, когда деинтерлейсированные и составные пиксели записываются на целевую поверхность с помощью расширенных сведений о цвете, указанных для исходной и целевой поверхностей. Должен использовать с функцией DeinterlaceBltEx . |
DXVA_VideoProcess_AlphaBlendExtended Только Windows Server 2003 с пакетом обновления 1 (SP1) и более поздних версий, а также Windows XP с пакетом обновления 2 (SP2) и более поздних версий. Указывает, что операция альфа-смешения может быть выполнена с целевой поверхностью, когда деинтерлейсированные и составные пиксели записываются на целевую поверхность. Драйвер должен обрабатывать цвет фона на основе альфа-значения альфа-членаструктуры DXVA_DeinterlaceBltEx . Если альфа-значение равно 1,0f, цвет фона рисуется непрозрачным (без прозрачности). Если альфа-значение равно 0,0f, фон не должен быть нарисован (прозрачный). Должен использовать с функцией DeinterlaceBltEx . |
Комментарии
Иногда корректировка пропорций, выполняемая DXVA_VideoProcess_AlphaBlend , сочетается с общей операцией изменения размера изображения для масштабирования видеоимока в пространстве композиции, определяемом приложением, что является редкой и не важной функцией. Лучше всего, если масштабирование, необходимое для изменения размера видео в окне приложения, можно выполнить одновременно с масштабированием, необходимым для деинтерлейсинга, что позволяет избежать накопительных артефактов.
Преобразование цветового пространства, выполняемое DXVA_VideoProcess_YUV2RGB , особенно полезно в VMR, если оно сочетается с любыми (и, в идеале, всеми) из следующих перечислителей: DXVA_VideoProcess_StretchX, DXVA_VideoProcess_StretchY и DXVA_VideoProcess_AlphaBlend. Преобразование цветового пространства RGB в цветовое пространство YUV не требуется.
Требования
Требование | Значение |
---|---|
Заголовок | dxva.h (включая Dxva.h) |