Compartilhar 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 de decodificação 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 D3DDDIARG_DECODEEXECUTE que descreve a operação de decodificação do DirectX VA a ser executada.

Retornar valor

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.

Comentários

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 do 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
Cliente mínimo com suporte Disponível no Windows Vista e versões posteriores dos sistemas operacionais Windows.
Plataforma de Destino Área de Trabalho
Cabeçalho d3dumddi.h (inclua D3dumddi.h)

Confira também

D3DDDIARG_DECODEEXECUTE

D3DDDI_DEVICEFUNCS