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) |