Freigeben über


PFND3D11_1DDI_VIDEODECODERBEGINFRAME Rückruffunktion (d3d10umddi.h)

Startet einen DXVA-Decodierungsvorgang (DirectX Video Acceleration), um einen Videoframe zu decodieren.

Syntax

PFND3D11_1DDI_VIDEODECODERBEGINFRAME Pfnd3d111DdiVideodecoderbeginframe;

HRESULT Pfnd3d111DdiVideodecoderbeginframe(
  D3D10DDI_HDEVICE unnamedParam1,
  D3D11_1DDI_HDECODE unnamedParam2,
  const D3D11_1DDIARG_VIDEODECODERBEGINFRAME *unnamedParam3
)
{...}

Parameter

unnamedParam1

hDevice [in]

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

unnamedParam2

hDecoder [in]

Ein Handle für das Videodecoder-Objekt, das durch einen Aufruf der CreateVideoDecoder-Funktion erstellt wurde.

unnamedParam3

pBeginFrame [in]

Ein Zeiger auf eine D3D11_1DDIARG_VIDEODECODERBEGINFRAME-Struktur . Weitere Informationen finden Sie im Abschnitt mit Hinweisen.

Rückgabewert

VideoDecoderBeginFrame gibt einen der folgenden Werte zurück:

Rückgabecode Beschreibung
S_OK Der Decodierungsvorgang wurde erfolgreich gestartet.
E_OUTOFMEMORY Der Arbeitsspeicher war zum Abschließen des Vorgangs nicht verfügbar.

Hinweise

Wenn VideoDecoderBeginFrameS_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 übereinstimmenden Aufruf von VideoDecoderEndFrame verfügen, und VideoDecoderBeginFrame-Aufrufe können nicht geschachtelt werden.
 
Die D3D11_1DDIARG_VIDEODECODERBEGINFRAME-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 Inhaltsschlüssel pro Frame. Dieser Schlüssel muss zum Entschlüsseln der Daten verwendet werden, 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
Unterstützte Mindestversion (Client) Windows 8
Unterstützte Mindestversion (Server) Windows Server 2012
Zielplattform Desktop
Kopfzeile d3d10umddi.h (include D3d10umddi.h)

Weitere Informationen

CreateVideoDecoder

VideoDecoderEndFrame

VideoDecoderSubmitBuffers