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


Метод IDirectXVideoDecoder::BeginFrame (dxva2api.h)

Запускает операцию декодирования.

Синтаксис

HRESULT BeginFrame(
  [in] IDirect3DSurface9 *pRenderTarget,
  [in] void              *pvPVPData
);

Параметры

[in] pRenderTarget

Указатель на интерфейс IDirect3DSurface9 целевого объекта отрисовки, в который будет записан декодированный кадр.

[in] pvPVPData

Защищены; задайте значение NULL.

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

Метод возвращает HRESULT. Допустимые значения включают, но не ограничиваются, значения, приведенные в следующей таблице.

Код возврата Описание
S_OK
Метод выполнен успешно.
E_INVALIDARG
Недопустимый тип поверхности. См. заметки.

Комментарии

После вызова этого метода вызовите метод IDirectXVideoDecoder::Execute для выполнения операций декодирования. После выполнения всех операций декодирования вызовите IDirectXVideoDecoder::EndFrame.

Каждый вызов BeginFrame должен иметь соответствующий вызов EndFrame, и вызовы BeginFrame не могут быть вложенными.

Примечание о миграции DXVA 1.0. В отличие от метода IAMVideoAccelerator::BeginFrame , который задает буфер в качестве индекса, этот метод принимает указатель непосредственно на несжатый буфер.

Поверхность, на которую указывает pRenderTarget , должна быть создана путем вызова IDirectXVideoAccelerationService::CreateSurface со значением DXVA2_VideoDecoderRenderTarget для DxvaType.

Требования

   
Минимальная версия клиента Windows Vista [только классические приложения]
Минимальная версия сервера Windows Server 2008 [только классические приложения]
Целевая платформа Windows
Header dxva2api.h

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

DirectX Video Acceleration 2.0

IDirectXVideoDecoder