Freigeben über


PFND3DDDI_DECODEEXECUTE Rückruffunktion (d3dumddi.h)

Die DecodeExecute--Funktion führt einen Decodierungsvorgang mithilfe des angegebenen Decodierungsgeräts von Microsoft DirectX Video Accelerator (VA) 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 den erforderlichen Arbeitsspeicher nicht zuordnen, damit er abgeschlossen werden kann.

Bemerkungen

Die Microsoft Direct3D-Laufzeit 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 durch 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 beispielsweise der MPEG2-Decodierungstyp Bildparameter, einen Makroblockpuffer und einen Restdifferenzpuffer erfordert, müssen alle diese Elemente im ersten Aufruf für jeden Frame vorhanden sein. Je nach Größe der Daten ruft die Direct3D-Laufzeit jedoch möglicherweise DecodeExecute erneut auf, um nur zusätzliche Restdifferenzdaten zu liefern, die zum Decodieren des gesamten Frames erforderlich sind.

DirectX VA 1.0 unterstützte einen externen Synchronisierungsmechanismus durch einen Aufruf der DdMoCompQueryStatus--Funktion. In DirectX VA 2.0 sollte der Anzeigetreiber für den Benutzermodus eine eigene Synchronisierung durchführen, ähnlich wie die Synchronisierung des 3D-Pipes. Weitere Informationen zu dieser Synchronisierung finden Sie unter Synchronisieren von Videodecodierungsvorgängen.

Anforderungen

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

Siehe auch

D3DDDIARG_DECODEEXECUTE

D3DDDI_DEVICEFUNCS