Compartilhar via


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

Inicia uma operação de decodificação de Aceleração de Vídeo (DXVA) 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 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.

Retornar valor

Retorna um dos seguintes valores HRESULT:

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

Comentários

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 tiverem sido executadas, o runtime chamará a função VideoDecoderEndFrame para interromper a operação de decodificação em um quadro de vídeo.

Observação

Cada chamada para VideoDecoderBeginFrame deve ter uma chamada correspondente para VideoDecoderEndFrame e as 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 que foi usada para criptografar os dados de quadro de vídeo.

Se o membro pContentKey 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.

Observação

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

Confira também

CreateVideoDecoderNegotiateCryptoSessionKeyeExchange