Método ID3D11VideoContext::D ecoderBeginFrame (d3d11.h)

Inicia uma operação de decodificação para decodificar um quadro de vídeo.

Sintaxe

HRESULT DecoderBeginFrame(
  [in] ID3D11VideoDecoder           *pDecoder,
  [in] ID3D11VideoDecoderOutputView *pView,
  [in] UINT                         ContentKeySize,
  [in] const void                   *pContentKey
);

Parâmetros

[in] pDecoder

Um ponteiro para a interface ID3D11VideoDecoder do . Para obter esse ponteiro, chame ID3D11VideoDevice::CreateVideoDecoder.

[in] pView

Um ponteiro para a interface de ID3D11VideoDecoderOutputView. Essa interface descreve o recurso que receberá o quadro decodificado. Para obter esse ponteiro, chame ID3D11VideoDevice::CreateVideoDecoderOutputView.

[in] ContentKeySize

O tamanho da chave de conteúdo especificada em pContentKey. Se pContentKey for NULL, defina ContentKeySize como zero.

[in] pContentKey

Um ponteiro opcional para uma chave de conteúdo que foi usada para criptografar os dados do quadro. Se nenhuma chave de conteúdo tiver sido usada, defina esse parâmetro para NULL. Se o chamador fornecer uma chave de conteúdo, o chamador deverá usar a chave de sessão para criptografar a chave de conteúdo.

Valor de retorno

Se esse método for bem-sucedido, ele retornará S_OK. Caso contrário, ele retornará um código de erro HRESULT. D3DERR_WASSTILLDRAWING ou E_PENDING será retornado se o hardware estiver ocupado, nesse caso, o decodificador deverá tentar fazer a chamada novamente.

Observações

Depois que esse método for chamado, chame ID3D11VideoContext::SubmitDecoderBuffers para executar operações de decodificação. Quando todas as operações de decodificação tiverem sido executadas, chame ID3D11VideoContext::D ecoderEndFrame.

Cada chamada para DecoderBeginFrame deve ter uma chamada correspondente para DecoderEndFrame. Na maioria dos casos, você não pode aninhar chamadas DecoderBeginFrame, mas alguns codecs, como VC-1, podem ter aninhado DecoderBeginFrame chamadas para operações especiais, como pós-processamento.

Os seguintes cenários de criptografia têm suporte por meio da chave de conteúdo:

  • O decodificador pode optar por não criptografar todos os quadros, por exemplo, ele só pode criptografar os quadros I e não criptografar os quadros P/B. Nestes cenários, o decodificador especificará pContentKey = NULL e ContentKeySize = 0 para os quadros que ele não criptografa.
  • O decodificador pode optar por criptografar os buffers compactados usando a chave de sessão. Nesse cenário, o decodificador especificará uma chave de conteúdo contendo todos os zeros.
  • O decodificador pode optar por criptografar os buffers compactados usando uma chave de conteúdo separada. Nesse cenário, o decodificador criptografará a chave de conteúdo usando a chave de sessão e passará a chave de conteúdo criptografada.

Requisitos

Requisito Valor
de cliente com suporte mínimo Windows 8 [aplicativos da área de trabalho | Aplicativos UWP]
servidor com suporte mínimo Windows Server 2012 [aplicativos da área de trabalho | Aplicativos UWP]
da Plataforma de Destino Windows
cabeçalho d3d11.h

Consulte também

ID3D11VideoContext