PFND3DDDI_DECODEEXECUTE Rückruffunktion (d3dumddi.h)

Die DecodeExecute-Funktion führt einen Decodierungsvorgang mithilfe des angegebenen Microsoft DirectX Video Accelerator (VA)-Decodierungsgeräts aus.

Syntax

PFND3DDDI_DECODEEXECUTE Pfnd3dddiDecodeexecute;

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

Parameter

hDevice

Ein Handle für das Anzeigegerät (Grafikkontext).

unnamedParam2

pData [in]

Ein Zeiger auf eine D3DDDIARG_DECODEEXECUTE-Struktur , die den auszuführenden DirectX VA-Decodierungsvorgang beschreibt.

Rückgabewert

DecodeExecute gibt einen der folgenden Werte zurück:

Rückgabecode Beschreibung
S_OK Der DirectX VA-Decodierungsvorgang wurde erfolgreich ausgeführt.
E_OUTOFMEMORY DecodeExecute konnte nicht den erforderlichen Arbeitsspeicher zuweisen, damit er vollständig ist.

Hinweise

Die Microsoft Direct3D-Runtime ruft die DecodeExecute-Funktion für alle Standardmäßigen DirectX VA-Decodierungsvorgänge auf. Wenn DecodeExecute zuerst für jeden Frame aufgerufen wird, sollte die D3DDDIARG_DECODEEXECUTE Struktur, die von pData angegeben wird, alle Pufferinformationen enthalten, die zum Decodieren des Frames erforderlich sind. DecodeExecute kann anschließend für denselben Frame aufgerufen werden; Diese Aufrufe erfordern jedoch nur inkrementelle Daten. Wenn die GUID für den bestimmten DirectX VA-Decodierungstyp keinen Puffer verwendet, der in D3DDDIARG_DECODEEXECUTE angegeben ist, werden das Handle und die Beschreibung für den Puffer auf NULL festgelegt. Da der MPEG2-Decodierungstyp beispielsweise Bildparameter, einen Makroblockpuffer und einen Restdifferenzpuffer erfordert, müssen alle diese Elemente im ersten Aufruf für jeden Frame vorhanden sein. Abhängig von der Größe der Daten ruft die Direct3D-Runtime decodeExecute jedoch möglicherweise erneut auf, um nur zusätzliche Restdifferenzdaten zur Verfügung zu stellen, die zum Decodieren des gesamten Frames erforderlich sind.

DirectX VA 1.0 unterstützte einen externen Synchronisierungsmechanismus über einen Aufruf der DdMoCompQueryStatus-Funktion . In DirectX VA 2.0 sollte der Benutzermodusanzeigetreiber eine eigene Synchronisierung durchführen, ähnlich der Synchronisierung der 3D-Pipe. Weitere Informationen zu dieser Synchronisierung finden Sie unter Synchronisieren von Videodecodierungsvorgängen.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Verfügbar in Windows Vista und höheren Versionen der Windows-Betriebssysteme.
Zielplattform Desktop
Kopfzeile d3dumddi.h (include D3dumddi.h)

Weitere Informationen

D3DDDIARG_DECODEEXECUTE

D3DDDI_DEVICEFUNCS