Compartilhar via


PFND3DWDDM2_4DDI_VIDEODECODERBEGINFRAME função de retorno de chamada (d3d10umddi.h)

Inicia uma operação de decodificação de DXVA (Aceleração de Vídeo) do DirectX para decodificar um quadro de vídeo.

Sintaxe

PFND3DWDDM2_4DDI_VIDEODECODERBEGINFRAME Pfnd3dwddm24DdiVideodecoderbeginframe;

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

Parâmetros

hDevice

Um identificador para o dispositivo de exibição (contexto gráfico).

hDecode

Um identificador para o objeto de decodificador de vídeo que foi criado por meio de uma chamada para a função CreateVideoDecoder.

pBeginFrame

Um ponteiro para uma estrutura D3DWDDM2_4DDIARG_VIDEODECODERBEGINFRAME_RS4_0. Para obter mais informações, consulte a seção Comentários.

Valor de retorno

Retorna um dos seguintes valores HRESULT:

Código de retorno Descrição
S_OK A chave de sessão da sessão criptográfica foi negociada com êxito.
E_OUTOFMEMORY A memória não estava disponível para concluir a operação.

Observações

Se essa função retornar S_OK, o runtime do Microsoft Direct3D chamará a função VideoDecoderSubmitBuffers para executar as operações de decodificação. Quando todas as operações de decodificação foram executadas, o runtime chama a função VideoDecoderEndFrame para interromper a operação de decodificação em um quadro de vídeo.

Nota

Cada chamada para VideoDecoderBeginFrame deve ter uma chamada correspondente para VideoDecoderEndFrame e chamadas VideoDecoderBeginFrame não podem ser aninhadas.

A estrutura D3DWDDM2_4DDIARG_VIDEODECODERBEGINFRAME_RS4_0 contém os seguintes dados:

  • O recurso que receberá os dados descriptografados e decodificados.
  • Uma chave de conteúdo usada para criptografar os dados do quadro de vídeo.

Se o pContentKey membro dessa estrutura não estiver definido como NULL, o buffer referenciado por esse membro conterá uma chave de conteúdo por quadro. Essa chave deve ser usada para descriptografar os dados em vez de usar a chave de sessão.

Nota

Se o membro pContentKey não estiver definido como NULL, o buffer referenciado por esse membro será criptografado usando a chave de sessão com o algoritmo AES-ECB.

Se o membro pContentKey estiver definido como NULL, os dados do quadro de vídeo deverão ser descriptografados usando a chave de sessão.

Requisitos

Requisito Valor
cabeçalho d3d10umddi.h

Consulte também

CreateVideoDecoderNegotiateCryptoSessionKeyeExchange