функция обратного вызова PFND3DDDI_DECODEEXECUTE (d3dumddi.h)

Функция DecodeExecute выполняет операцию декодирования с помощью заданного устройства декодирования Microsoft DirectX Video Accelerator (VA).

Синтаксис

PFND3DDDI_DECODEEXECUTE Pfnd3dddiDecodeexecute;

HRESULT Pfnd3dddiDecodeexecute(
  HANDLE hDevice,
  const D3DDDIARG_DECODEEXECUTE *unnamedParam2
)
{...}

Параметры

hDevice

Дескриптор устройства отображения (графический контекст).

unnamedParam2

pData [in]

Указатель на структуру D3DDDIARG_DECODEEXECUTE , описывающую операцию декодирования DirectX VA.

Возвращаемое значение

DecodeExecute возвращает одно из следующих значений:

Код возврата Описание
S_OK Операция декодирования DirectX VA успешно выполнена.
E_OUTOFMEMORY DecodeExecute не удалось выделить необходимую память для ее завершения.

Комментарии

Среда выполнения Microsoft Direct3D вызывает функцию DecodeExecute для всех стандартных операций декодирования DirectX VA. При первом вызове DecodeExecute для каждого кадра структура D3DDDIARG_DECODEEXECUTE , указанная pData , должна содержать все сведения о буфере, необходимые для декодирования кадра. DecodeExecute может впоследствии вызываться для того же кадра; однако для этих вызовов требуются только добавочные данные. Если guid для определенного типа декодирования DirectX VA не использует буфер, указанный в D3DDDIARG_DECODEEXECUTE, дескриптор и описание буфера имеют значение NULL. Например, поскольку тип декодирования MPEG2 требует параметров изображения, буфера макроблока и буфера остаточной разницы, все эти элементы должны присутствовать в первом вызове для каждого кадра. Однако в зависимости от размера данных среда выполнения Direct3D может снова вызвать DecodeExecute , чтобы предоставить только дополнительные данные остаточной разницы, необходимые для декодирования всего кадра.

DirectX VA 1.0 поддерживает механизм внешней синхронизации с помощью вызова функции DdMoCompQueryStatus . В DirectX VA 2.0 драйвер отображения пользовательского режима должен выполнять собственную синхронизацию аналогично синхронизации трехмерного канала. Дополнительные сведения об этой синхронизации см. в разделе Синхронизация операций декодирования видео.

Требования

Требование Значение
Минимальная версия клиента Доступно в Windows Vista и более поздних версиях операционных систем Windows.
Целевая платформа Персональный компьютер
Верхняя часть d3dumddi.h (включая D3dumddi.h)

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

D3DDDIARG_DECODEEXECUTE

D3DDDI_DEVICEFUNCS