Метод ID3D11VideoContext::D ecoderBeginFrame (d3d11.h)
Запускает операцию декодирования для декодирования видеокадров.
Синтаксис
HRESULT DecoderBeginFrame(
[in] ID3D11VideoDecoder *pDecoder,
[in] ID3D11VideoDecoderOutputView *pView,
[in] UINT ContentKeySize,
[in] const void *pContentKey
);
Параметры
[in] pDecoder
Указатель на интерфейс ID3D11VideoDecoder. Чтобы получить этот указатель, вызовите ID3D11VideoDevice::CreateVideoDecoder.
[in] pView
Указатель на интерфейс ID3D11VideoDecoderOutputView. В этом интерфейсе описывается ресурс, который получит декодированные кадры. Чтобы получить этот указатель, вызовите ID3D11VideoDevice::CreateVideoDecoderOutputView.
[in] ContentKeySize
Размер ключа содержимого, указанного в pContentKey. Если pContentKey имеет значение NULL, задайте ContentKeySize равным нулю.
[in] pContentKey
Необязательный указатель на ключ содержимого, который использовался для шифрования данных кадра. Если ключ содержимого не использовался, задайте для этого параметра значение NULL. Если вызывающий объект предоставляет ключ содержимого, вызывающий объект должен использовать ключ сеанса для шифрования ключа содержимого.
Возвращаемое значение
Если этот метод выполнен успешно, он возвращает S_OK. В противном случае возвращается код ошибки HRESULT. D3DERR_WASSTILLDRAWING или E_PENDING возвращается, если оборудование занято, в этом случае декодатор должен повторить вызов.
Замечания
После вызова этого метода вызовите ID3D11VideoContext::SubmitDecoderBuffers для выполнения операций декодирования. При выполнении всех операций декодирования вызовите ID3D11VideoContext::D ecoderEndFrame.
Каждый вызов DecoderBeginFrame должен иметь соответствующий вызов DecoderEndFrame. В большинстве случаев не удается вложить вызовы декодераBeginFrame, но некоторые кодеки, такие как VC-1, могут содержать вложенные ДекодерBeginFrame вызовы специальных операций, таких как после обработки.
Следующие сценарии шифрования поддерживаются с помощью ключа содержимого:
- Декодатор может не шифровать каждый кадр, например, он может шифровать только кадры I и не шифровать кадры P/B. В этом сценарии декодатор будет указывать pContentKey = NULL и ContentKeySize = 0 для тех кадров, которые он не шифрует.
- Декодатор может зашифровать сжатые буферы с помощью ключа сеанса. В этом сценарии декодатор укажет ключ содержимого, содержащий все нули.
- Декодатор может зашифровать сжатые буферы с помощью отдельного ключа содержимого. В этом сценарии декодатор зашифрует ключ содержимого с помощью ключа сеанса и передает зашифрованный ключ содержимого.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Windows 8 [классические приложения | Приложения UWP] |
минимальный поддерживаемый сервер | Windows Server 2012 [классические приложения | Приложения UWP] |
целевая платформа | Виндоус |
заголовка | d3d11.h |