ID3D11VideoContext::D ecoderBeginFrame-Methode (d3d11.h)

Startet einen Decodierungsvorgang zum Decodieren eines Videoframes.

Syntax

HRESULT DecoderBeginFrame(
  [in] ID3D11VideoDecoder           *pDecoder,
  [in] ID3D11VideoDecoderOutputView *pView,
  [in] UINT                         ContentKeySize,
  [in] const void                   *pContentKey
);

Parameter

[in] pDecoder

Ein Zeiger auf die ID3D11VideoDecoder-Schnittstelle . Rufen Sie ID3D11VideoDevice::CreateVideoDecoder auf, um diesen Zeiger zu erhalten.

[in] pView

Ein Zeiger auf die ID3D11VideoDecoderOutputView-Schnittstelle . Diese Schnittstelle beschreibt die Ressource, die den decodierten Frame empfängt. Rufen Sie ID3D11VideoDevice::CreateVideoDecoderOutputView auf, um diesen Zeiger zu erhalten.

[in] ContentKeySize

Die Größe des in pContentKey angegebenen Inhaltsschlüssels. Wenn pContentKey NULL ist, legen Sie ContentKeySize auf Null fest.

[in] pContentKey

Ein optionaler Zeiger auf einen Inhaltsschlüssel, der zum Verschlüsseln der Framedaten verwendet wurde. Wenn kein Inhaltsschlüssel verwendet wurde, legen Sie diesen Parameter auf NULL fest. Wenn der Aufrufer einen Inhaltsschlüssel bereitstellt, muss der Aufrufer den Sitzungsschlüssel verwenden, um den Inhaltsschlüssel zu verschlüsseln.

Rückgabewert

Wenn diese Methode erfolgreich ist, wird S_OK zurückgegeben. Andernfalls wird ein Fehlercode HRESULT zurückgegeben. D3DERR_WASSTILLDRAWING oder E_PENDING wird zurückgegeben, wenn die Hardware ausgelastet ist. In diesem Fall sollte der Decoder erneut versuchen, den Anruf zu tätigen.

Hinweise

Nachdem diese Methode aufgerufen wurde, rufen Sie ID3D11VideoContext::SubmitDecoderBuffers auf, um Decodierungsvorgänge auszuführen. Wenn alle Decodierungsvorgänge ausgeführt wurden, rufen Sie ID3D11VideoContext::D ecoderEndFrame auf.

Jeder Aufruf von DecoderBeginFrame muss über einen übereinstimmenden Aufruf von DecoderEndFrame verfügen. In den meisten Fällen können DecoderBeginFrame-Aufrufe nicht geschachtelt werden, aber einige Codecs, z. B. VC-1, können für spezielle Vorgänge wie die Nachverarbeitung geschachtelte DecoderBeginFrame-Aufrufe aufweisen.

Die folgenden Verschlüsselungsszenarien werden über den Inhaltsschlüssel unterstützt:

  • Der Decoder kann nicht jeden Frame verschlüsseln, z. B. kann er nur die I-Frames und nicht die P/B-Frames verschlüsseln. In diesem Szenario gibt der Decoder pContentKey = NULL und ContentKeySize = 0 für die Frames an, die er nicht verschlüsselt.
  • Der Decoder kann die komprimierten Puffer mithilfe des Sitzungsschlüssels verschlüsseln. In diesem Szenario gibt der Decoder einen Inhaltsschlüssel an, der alle Nullen enthält.
  • Der Decoder kann die komprimierten Puffer mithilfe eines separaten Inhaltsschlüssels verschlüsseln. In diesem Szenario verschlüsselt der Decoder den Inhaltsschlüssel mithilfe des Sitzungsschlüssels und übergibt den verschlüsselten Inhaltsschlüssel.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 8 [Desktop-Apps | UWP-Apps]
Unterstützte Mindestversion (Server) Windows Server 2012 [Desktop-Apps | UWP-Apps]
Zielplattform Windows
Kopfzeile d3d11.h

Weitere Informationen

ID3D11VideoContext