PFND3DDDI_DECODEEXECUTE funzione di callback (d3dumddi.h)

La funzione DecodeExecute esegue un'operazione di decodifica usando il dispositivo di decodifica Microsoft DirectX Video Accelerator (VA) specificato.

Sintassi

PFND3DDDI_DECODEEXECUTE Pfnd3dddiDecodeexecute;

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

Parametri

hDevice

Handle per il dispositivo di visualizzazione (contesto grafico).

unnamedParam2

pData [in]

Puntatore a una struttura D3DDDIARG_DECODEEXECUTE che descrive l'operazione di decodifica DirectX VA da eseguire.

Valore restituito

DecodeExecute restituisce uno dei valori seguenti:

Codice restituito Descrizione
S_OK L'operazione di decodifica DirectX VA viene eseguita correttamente.
E_OUTOFMEMORY DecodeExecute non è riuscito a allocare la memoria necessaria per il completamento.

Commenti

Il runtime Di Microsoft Direct3D chiama la funzione DecodeExecute per tutte le operazioni di decodifica DirectX VA standard. Quando DecodeExecute viene chiamato per ogni frame, la struttura D3DDDIARG_DECODEEXECUTE specificata da pData deve contenere tutte le informazioni del buffer necessarie per decodificare il frame. DecodeExecute può essere chiamato successivamente per lo stesso frame; tuttavia, queste chiamate richiedono solo dati incrementali. Se il GUID per il tipo di decodifica DirectX VA specifico non usa un buffer specificato in D3DDDIARG_DECODEEXECUTE, l'handle e la descrizione per il buffer sono impostati su NULL. Ad esempio, poiché il tipo di decodifica MPEG2 richiede parametri di immagine, un buffer di macroblock e un buffer di differenza rimanente, tutti questi elementi devono essere presenti nella prima chiamata per ogni frame. A seconda delle dimensioni dei dati, tuttavia, il runtime Direct3D potrebbe chiamare di nuovo DecodeExecute per fornire solo dati di differenza residua aggiuntivi necessari per decodificare l'intero frame.

DirectX VA 1.0 supportava un meccanismo di sincronizzazione esterno tramite una chiamata alla funzione DdMoCompQueryStatus . In DirectX VA 2.0, il driver di visualizzazione in modalità utente deve eseguire la propria sincronizzazione, analogamente al modo in cui sincronizza la pipe 3D. Per altre informazioni su questa sincronizzazione, vedere Sincronizzazione delle operazioni di decodifica video.

Requisiti

Requisito Valore
Client minimo supportato Disponibile in Windows Vista e versioni successive dei sistemi operativi Windows.
Piattaforma di destinazione Desktop
Intestazione d3dumddi.h (include D3dumddi.h)

Vedi anche

D3DDDIARG_DECODEEXECUTE

D3DDDI_DEVICEFUNCS