Предоставление возможностей обработки видео

Как запрашивать возможности для обработки видео

В этой статье описывается, как запрашивать возможности обработки видео в драйвере отображения пользовательского режима (UMD), поддерживающем ускорение видео DirectX (DXVA) 2.0.

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

Типы запросов D3DDDICAPS_GETVIDEOPROCESSORDEVICEGUIDCOUNT и D3DDDICAPS_GETVIDEOPROCESSORDEVICEGUIDS

Среда выполнения Direct3D указывает структуру DXVADDI_VIDEODESC для определенного видеопотока для обработки в переменной, на которую указывает pInfo член D3DDDIARG_GETCAPS. Среда выполнения D3D сначала запрашивает количество поддерживаемых идентификаторов GUID, за которым следует запрос на получение списка поддерживаемых идентификаторов GUID. UMD возвращает номер и список следующих идентификаторов GUID, поддерживаемых для обработки видео.

DEFINE_GUID(DXVADDI_VideoProcProgressiveDevice,  0x5a54a0c9,0xc7ec,0x4bd9,0x8e,0xde,0xf3,0xc7,0x5d,0xc4,0x39,0x3b);
DEFINE_GUID(DXVADDI_VideoProcBobDevice,  0x335aa36e,0x7884,0x43a4,0x9c,0x91,0x7f,0x87,0xfa,0xf3,0xe3,0x7e);

тип запроса D3DDDICAPS_GETVIDEOPROCESSORCAPS

Каждый режим видеопроцессоров, поддерживаемый UMD, может иметь уникальные возможности. UMD возвращает эти возможности при передаче типа запроса D3DDDICAPS_GETVIDEOPROCESSORCAPS. Среда выполнения Direct3D определяет структуру DXVADDI_VIDEOPROCESSORINPUT для режима обработки видео, чтобы в переменной, на которую указывает член pInfo структуры D3DDDIARG_GETCAPS, получить возможности. UMD возвращает возможности для режима обработки видео в структуре DXVADDI_VIDEOPROCESSORCAPS, на которую указывает поле pData D3DDDIARG_GETCAPS.

тип запроса D3DDDICAPS_GETPROCAMPRANGE

UMD возвращает указатель на структуру DXVADDI_VALUERANGE, содержащую диапазон разрешенных значений для определенного свойства элемента управления ProcAmp в определенном видеопотоке. Среда выполнения Direct3D задает структуру DXVADDI_QUERYPROCAMPINPUT для свойства элемента управления ProcAmp в определенном видеопотоке в переменной, на которую указывает параметр pInfo структуры D3DDDIARG_GETCAPS.

Типы запросов D3DDDICAPS_GETVIDEOPROCESSORRTFORMATCOUNT и D3DDDICAPS_GETVIDEOPROCESSORRTFORMATS

UMD возвращает число и список целевых форматов отрисовки, поддерживаемых для определенного режима обработки видео. Среда выполнения Direct3D задает структуру DXVADDI_VIDEOPROCESSORINPUT для режима видеопроцессоров в переменной, на которую указывает элемент D3DDDIARG_GETCAPS p Info. UMD возвращает целевые форматы отрисовки, поддерживаемые в массиве D3DDDIFORMATтипизированных значений, которые указывает элемент D3DDDIARG_GETCAPS pData pData.

Типы запросов D3DDDICAPS_GETVIDEOPROCESSORRTSUBSTREAMFORMATCOUNT и D3DDDICAPS_GETVIDEOPROCESSORRTSUBSTREAMFORMATS

UMD возвращает число и список форматов подпотока, поддерживаемых для определенного режима обработки видео. Среда выполнения Direct3D задает структуру DXVADDI_VIDEOPROCESSORINPUT для режима видеопроцессоров в переменной, на которую указывает элемент D3DDDIARG_GETCAPS p Info. UMD возвращает форматы подпотоков, которые поддерживает в массиве значений типа D3DDDIFORMAT, которые указывает член pData из D3DDDIARG_GETCAPS.

тип запроса D3DDDICAPS_FILTERPROPERTYRANGE

UMD возвращает указатель на структуру DXVADDI_VALUERANGE, содержащую диапазон разрешенных значений для определенного параметра фильтра в определенном видеопотоке при передаче типа запроса D3DDDICAPS_FILTERPROPERTYRANGE. Среда выполнения Direct3D указывает DXVADDI_QUERYFILTERPROPERTYRANGEINPUT структуру для параметра фильтра в определенном видеопотоке в переменной, на которую указывает элемент D3DDDIARG_GETCAPS pInfo pInfo.