Поделиться через


структура DXVAHDDDI_VPCAPS (d3dumddi.h)

Структура DXVAHDDDI_VPCAPS описывает видеопроцессор и его возможности.

Синтаксис

typedef struct _DXVAHDDDI_VPCAPS {
  [out] GUID VPGuid;
  [out] UINT PastFrames;
  [out] UINT FutureFrames;
  [out] UINT ProcessorCaps;
  [out] UINT ITelecineCaps;
  [out] UINT CustomRateCount;
} DXVAHDDDI_VPCAPS;

Члены

[out] VPGuid

Идентификатор GUID, определяющий видеопроцессор.

[out] PastFrames

Количество прошлых опорных кадров, необходимых для оптимальной обработки видео.

[out] FutureFrames

Количество будущих опорных кадров, необходимых для оптимальной обработки видео.

[out] ProcessorCaps

Побитовое ИЛИ следующих значений из перечисления DXVAHDDDI_PROCESSOR_CAPS, чтобы указать возможности, связанные с видеопроцессором.

Значение Значение
DXVAHDDDI_PROCESSOR_CAPS_DEINTERLACE_BLEND (0x1) Драйвер может выполнять деинтерлейсинг смешения, когда смешиваются два поля в чередуемой рамке. Драйвер использует этот тип деинтерлейсинга, когда он деинтерлейсирует на половину скорости. Дополнительные сведения о половинной ставке см. в разделе DXVAHDDDI_OUTPUT_RATE.
DXVAHDDDI_PROCESSOR_CAPS_DEINTERLACE_BOB (0x2) Драйвер может выполнить деинтерлейсинг Боба, когда отсутствующие строки сканирования создаются из строк выше и ниже отсутствующих строк. Фильтр 4tap ([–1,9;9;–1]/16) дает несколько лучшие результаты. Драйвер использует этот тип деинтерлейсинга, если недостаточно опорных кадров для адаптивного деинтерлейсинга.
DXVAHDDDI_PROCESSOR_CAPS_DEINTERLACE_ADAPTIVE (0x4) Драйвер может выполнять адаптивное деинтерлейсирование, когда отсутствующие линии сканирования создаются из пространственной или темпоральной интерполяции путем переключения между двумя типами интерполяции в зависимости от движения пикселя или поля.
DXVAHDDDI_PROCESSOR_CAPS_DEINTERLACE_MOTION_COMPENSATION (0x8) Драйвер может выполнять деинтерлейсинг с компенсацией движения, когда отсутствующие линии сканирования создаются с помощью векторов движения. Этот тип деинтерлейсинга является самым передовым деинтерлейсингом, который реализуется с помощью собственного алгоритма.
DXVAHDDDI_PROCESSOR_CAPS_INVERSE_TELECINE (0x10) Драйвер может преобразовать из чередующихся кадров в исходные прогрессивные кадры путем изменения телесины. Дополнительные сведения о возврате телесины см. в разделе Член ITelecineCaps.
DXVAHDDDI_PROCESSOR_CAPS_FRAME_RATE_CONVERSION (0x20) Драйвер может преобразовать частоту кадров путем интерполяции кадров.

Драйвер не должен требовать каких-либо опорных кадров, если он использует типы деинтерлейсинга, связанные с DXVAHDDDI_PROCESSOR_CAPS_DEINTERLACE_BLEND и DXVAHDDDI_PROCESSOR_CAPS_DEINTERLACE_BOB.

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

Дополнительные сведения о смешениях и де-чередование Боба см. в разделе DXVAHDDDI_STREAM_DATA.

[out] ITelecineCaps

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

Значение Значение
DXVAHDDDI_ITELECINE_CAPS_32 (0x1) Драйвер может выполнять обратную телесину 3:2, NTSC(60i) -> Film(24p).
DXVAHDDDI_ITELECINE_CAPS_22 (0x2) Драйвер может выполнять обратную телесину 2:2, PAL(50i) -> Film(25p:4% быстрее) и NTSC(60i) -> CG(30p).
DXVAHDDDI_ITELECINE_CAPS_2224 (0x4) Драйвер может выполнять обратный 2:2:2:4 telecine, NTSC(60i) —> DVCAM(24p).
DXVAHDDDI_ITELECINE_CAPS_2332 (0x8) Драйвер может выполнять обратную передачу телесины 2:3:3:2, NTSC(60i) —> DVCAM(24p).
DXVAHDDDI_ITELECINE_CAPS_32322 (0x10) Драйвер может выполнять обратную телесину 3:2:3:2:2, NTSC(60i) -> Film(25p:4 % быстрее).
DXVAHDDDI_ITELECINE_CAPS_55 (0x20) Драйвер может выполнять обратную телесину 5:5, NTSC(60i) -> Animation(12p).
DXVAHDDDI_ITELECINE_CAPS_64 (0x40) Драйвер может выполнять обратную телесину 6:4, NTSC(60i) -> Animation(12p).
DXVAHDDDI_ITELECINE_CAPS_87 (0x80) Драйвер может выполнять обратную телесину 8:7, NTSC(60i) —> Anime(8p).
DXVAHDDDI_ITELECINE_CAPS_222222222223 (0x100) Драйвер может выполнять обратный 2:2:2:2:2:2:2:2:2:2:3 telecine, PAL(50i) —> Film(24p).
DXVAHDDDI_ITELECINE_CAPS_OTHER (0x80000000) Драйвер может выполнять обратную нестандартную телесину.

[out] CustomRateCount

Количество поддерживаемых пользовательских скоростей вывода. Драйвер возвращает массив DXVAHDDDI_CUSTOM_RATE_DATA структур для пользовательских скоростей вывода, поддерживаемых видеопроцессором при вызове функции GetCaps драйвера с набором D3DDDICAPS_DXVAHD_GETVPCUSTOMRATES значений.

Комментарии

Драйвер отображения пользовательского режима возвращает указатель на заполненную структуру DXVAHDDDI_VPCAPS в элементе pDataструктуры D3DDDIARG_GETCAPS при вызове функции GetCaps со значением D3DDDICAPS_DXVAHD_GETVPCAPS, заданным в элементе Type D3DDDIARG_GETCAPS.

Требования

Требование Значение
Минимальная версия клиента DXVAHDDDI_VPCAPS поддерживается начиная с операционной системы Windows 7.
Верхняя часть d3dumddi.h (включая D3dumddi.h)

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

D3DDDIARG_GETCAPS

D3DDDIFORMAT

D3DDDI_POOL

DXVAHDDDI_CUSTOM_RATE_DATA

GetCaps