перечисление 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 Указывает, что оборудование deinterlace может выполнять только основные операции deinterlace. То есть операции деинтерлакирования, которые не объединяются с другими операциями, например цветом преобразования, альфа-смешения, растяжения, подраздела или подпотока. |
DXVA_VideoProcess_YUV2RGB Указывает, что оборудование deinterlace может преобразовать видео из цветового пространства YUV в цветовое пространство RGB. Формат RGB будет иметь по крайней мере 8 бит точности для каждого компонента цвета. По возможности можно избежать копирования буфера в vmR. Все драйверы должны поддерживать эту операцию для режима боба deinterlace. Не используется с функцией DeinterlaceBltEx. |
DXVA_VideoProcess_StretchX Указывает, что исправление пропорций может выполняться одновременно, так как видео будет деинтерлакировано, если деинтерлакатор может растянуть или уменьшить по горизонтали. Перечислитель должен поддерживаться для режима боба deinterlace. Должен использоваться с функцией DeinterlaceBltEx. |
DXVA_VideoProcess_StretchY Указывает, что корректировка пропорций объединяется с общей операцией изменения размера рисунка для масштабирования изображения видео. Должен использоваться с функцией DeinterlaceBltEx. |
DXVA_VideoProcess_AlphaBlend Указывает, что VMR не будет выполнять копию буфера при изменении альфа-значения. Редко приложения изменяют константное альфа-значение, связанное с видеопотоком, поэтому это низкоприоритетная функция. Перечислитель должен поддерживаться для режима боба deinterlace. Не используется с функцией DeinterlaceBltEx. |
DXVA_VideoProcess_SubRects Указывает, что оборудование deinterlace может деинтерлакировать только вложенную область изображения видео до указанной позиции назначения. Это полезно, если изображение видео должно быть обрезано, прежде чем обрабатываться дальше по мере уменьшения размера выходного кадра. |
DXVA_VideoProcess_SubStreams Windows Server 2003 с пакетом обновления 1 (SP1) и более поздних версий и Windows XP с пакетом обновления 2 (SP2) и более поздних версий. Указывает, что оборудование deinterlace может объединять подпотоки видео с видеопотоком. Должен использоваться с функцией 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 (include Dxva.h) |