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