PFND3DWDDM2_4DDI_VIDEODECODERBEGINFRAME Rückruffunktion (d3d10umddi.h)
Startet einen DXVA-Decodierungsvorgang (DirectX Video Acceleration), um einen Videoframe zu decodieren.
Syntax
PFND3DWDDM2_4DDI_VIDEODECODERBEGINFRAME Pfnd3dwddm24DdiVideodecoderbeginframe;
HRESULT Pfnd3dwddm24DdiVideodecoderbeginframe(
D3D10DDI_HDEVICE hDevice,
D3D11_1DDI_HDECODE hDecode,
const D3DWDDM2_4DDIARG_VIDEODECODERBEGINFRAME *pBeginFrame
)
{...}
Parameter
hDevice
Ein Handle für das Anzeigegerät (Grafikkontext).
hDecode
Ein Handle für das Videodecoder-Objekt, das durch einen Aufruf der CreateVideoDecoder-Funktion erstellt wurde.
pBeginFrame
Ein Zeiger auf eine D3DWDDM2_4DDIARG_VIDEODECODERBEGINFRAME_RS4_0-Struktur. Weitere Informationen finden Sie im Abschnitt mit Hinweisen.
Rückgabewert
Gibt einen der folgenden HRESULT-Werte zurück:
Rückgabecode | Beschreibung |
---|---|
S_OK | Der Sitzungsschlüssel für die kryptografische Sitzung wurde erfolgreich ausgehandelt. |
E_OUTOFMEMORY | Arbeitsspeicher war nicht verfügbar, um den Vorgang abzuschließen. |
Hinweise
Wenn diese Funktion S_OK zurückgibt, ruft die Microsoft Direct3D-Runtime die VideoDecoderSubmitBuffers-Funktion auf, um die Decodierungsvorgänge auszuführen. Wenn alle Decodierungsvorgänge ausgeführt wurden, ruft die Runtime die VideoDecoderEndFrame-Funktion auf, um den Decodierungsvorgang für einen Videoframe zu beenden.
Hinweis
Jeder Aufruf von VideoDecoderBeginFrame muss über einen entsprechenden Aufruf von VideoDecoderEndFrame verfügen, und VideoDecoderBeginFrame-Aufrufe können nicht geschachtelt werden.
Die D3DWDDM2_4DDIARG_VIDEODECODERBEGINFRAME_RS4_0-Struktur enthält die folgenden Daten:
- Die Ressource, die die entschlüsselten und decodierten Daten empfängt.
- Ein Inhaltsschlüssel, der zum Verschlüsseln der Videoframedaten verwendet wurde.
Wenn das pContentKey-Element dieser Struktur nicht auf NULL festgelegt ist, enthält der Puffer, auf den dieses Element verweist, einen Pro-Frame-Inhaltsschlüssel. Dieser Schlüssel muss verwendet werden, um die Daten zu entschlüsseln, anstatt den Sitzungsschlüssel zu verwenden.
Hinweis
Wenn das pContentKey-Element nicht auf NULL festgelegt ist, wird der Puffer, auf den dieses Element verweist, mithilfe des Sitzungsschlüssels mit dem AES-ECB-Algorithmus verschlüsselt.
Wenn das pContentKey-Element auf NULL festgelegt ist, sollten die Videoframedaten mithilfe des Sitzungsschlüssels entschlüsselt werden.
Anforderungen
Anforderung | Wert |
---|---|
Header | d3d10umddi.h |