Partilhar via


PFND3DDDI_DECODEEXECUTE função de retorno de chamada (d3dumddi.h)

A função DecodeExecute executa uma operação de decodificação usando o dispositivo decodificador va (Acelerador de Vídeo) do Microsoft DirectX.

Sintaxe

PFND3DDDI_DECODEEXECUTE Pfnd3dddiDecodeexecute;

HRESULT Pfnd3dddiDecodeexecute(
  HANDLE hDevice,
  const D3DDDIARG_DECODEEXECUTE *unnamedParam2
)
{...}

Parâmetros

hDevice

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

unnamedParam2

pData [in]

Um ponteiro para uma estrutura de D3DDDIARG_DECODEEXECUTE que descreve a operação de decodificação de VA do DirectX a ser executada.

Valor de retorno

DecodeExecute retorna um dos seguintes valores:

Código de retorno Descrição
S_OK A operação de decodificação de VA do DirectX é executada com êxito.
E_OUTOFMEMORY DecodeExecute não pôde alocar a memória necessária para que ela fosse concluída.

Observações

O runtime do Microsoft Direct3D chama a função DecodeExecute para todas as operações de decodificação padrão do DirectX VA. Quando DecodeExecute é chamado pela primeira vez para cada quadro, a estrutura D3DDDIARG_DECODEEXECUTE especificada por pData deve conter todas as informações de buffer necessárias para decodificar o quadro. DecodeExecute pode ser chamado posteriormente para o mesmo quadro; no entanto, essas chamadas exigem apenas dados incrementais. Se o GUID para o tipo de decodificação específico do DirectX VA não usar um buffer especificado em D3DDDIARG_DECODEEXECUTE, o identificador e a descrição do buffer serão definidos como NULL. Por exemplo, como o tipo de decodificação MPEG2 requer parâmetros de imagem, um buffer de macroblock e um buffer de diferença residual, todos esses itens devem estar presentes na primeira chamada para cada quadro. Dependendo do tamanho dos dados, no entanto, o runtime do Direct3D pode chamar DecodeExecute novamente para fornecer apenas dados adicionais de diferença residual necessários para decodificar todo o quadro.

O DirectX VA 1.0 deu suporte a um mecanismo de sincronização externa por meio de uma chamada para a função DdMoCompQueryStatus. No DirectX VA 2.0, o driver de exibição no modo de usuário deve executar sua própria sincronização, semelhante à maneira como sincroniza o pipe 3D. Para obter mais informações sobre essa sincronização, consulte Sincronizando operações de decodificação de vídeo.

Requisitos

Requisito Valor
de cliente com suporte mínimo Disponível no Windows Vista e versões posteriores dos sistemas operacionais Windows.
da Plataforma de Destino Área de trabalho
cabeçalho d3dumddi.h (inclua D3dumddi.h)

Consulte também

D3DDDIARG_DECODEEXECUTE

D3DDDI_DEVICEFUNCS