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


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

Запускает операцию декодирования DirectX Video Acceleration (DXVA) для декодирования видеокадра.

Синтаксис

PFND3DWDDM2_4DDI_VIDEODECODERBEGINFRAME Pfnd3dwddm24DdiVideodecoderbeginframe;

HRESULT Pfnd3dwddm24DdiVideodecoderbeginframe(
  D3D10DDI_HDEVICE hDevice,
  D3D11_1DDI_HDECODE hDecode,
  const D3DWDDM2_4DDIARG_VIDEODECODERBEGINFRAME *pBeginFrame
)
{...}

Параметры

hDevice

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

hDecode

Дескриптор для объекта декодера видео, созданного с помощью вызова функции CreateVideoDecoder.

pBeginFrame

Указатель на структуру D3DWDDM2_4DDIARG_VIDEODECODERBEGINFRAME_RS4_0. Дополнительные сведения см. в разделе «Примечания».

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

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

Код возврата Описание
S_OK Ключ сеанса для сеанса шифрования успешно согласован.
E_OUTOFMEMORY Память не была доступна для завершения операции.

Комментарии

Если эта функция возвращает S_OK, среда выполнения Microsoft Direct3D вызывает функцию VideoDecoderSubmitBuffers для выполнения операций декодирования. После выполнения всех операций декодирования среда выполнения вызывает функцию VideoDecoderEndFrame, чтобы остановить операцию декодирования видеокадра.

Примечание

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

Структура D3DWDDM2_4DDIARG_VIDEODECODERBEGINFRAME_RS4_0 содержит следующие данные:

  • Ресурс, который будет получать расшифрованные и декодированные данные.
  • Ключ содержимого, который использовался для шифрования данных видеокадра.

Если для элемента pContentKey этой структуры не задано значение NULL, буфер, на который ссылается этот элемент, содержит ключ содержимого для каждого кадра. Этот ключ следует использовать для расшифровки данных, а не сеансового ключа.

Примечание

Если для элемента pContentKey не задано значение NULL, буфер, на который ссылается этот элемент, шифруется с помощью ключа сеанса с алгоритмом AES-ECB.

Если член pContentKey имеет значение NULL, данные видеокадра должны быть расшифрованы с помощью ключа сеанса.

Требования

Требование Значение
Заголовок d3d10umddi.h

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

CreateVideoDecoderNegotiateCryptoSessionKeyeExchange