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
[in] pView
Um ponteiro para a interface de
[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 |