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 zum Abrufen dieses Zeigers ID3D11VideoDevice::CreateVideoDecoderauf.
[in] pView
Ein Zeiger auf die ID3D11VideoDecoderOutputView Schnittstelle. Diese Schnittstelle beschreibt die Ressource, die den decodierten Frame empfängt. Rufen Sie zum Abrufen dieses Zeigers ID3D11VideoDevice::CreateVideoDecoderOutputViewauf.
[in] ContentKeySize
Die Größe des Inhaltsschlüssels, der in pContentKey-angegeben wird. 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_OKzurückgegeben. Andernfalls wird ein HRESULT- Fehlercode zurückgegeben. D3DERR_WASSTILLDRAWING oder E_PENDING wird zurückgegeben, wenn die Hardware ausgelastet ist. In diesem Fall sollte der Decoder versuchen, den Anruf erneut auszuführen.
Bemerkungen
Rufen Sie nach dem Aufrufen dieser Methode ID3D11VideoContext::SubmitDecoderBuffers auf, um Decodierungsvorgänge auszuführen. Wenn alle Decodierungsvorgänge ausgeführt wurden, rufen Sie ID3D11VideoContext::D ecoderEndFrameauf.
Jeder Aufruf von DecoderBeginFrame muss über einen übereinstimmenden Aufruf DecoderEndFrameverfügen. In den meisten Fällen können Sie DecoderBeginFrame Aufrufe nicht verschachteln, aber einige Codecs wie VC-1 können DecoderBeginFrame Aufrufe für spezielle Vorgänge wie die Nachbearbeitung geschachtelt haben.
Die folgenden Verschlüsselungsszenarien werden über den Inhaltsschlüssel unterstützt:
- Der Decoder kann sich entscheiden, nicht jeden Frame zu verschlüsseln, z. B. kann er nur die I-Frames verschlüsseln und die P/B-Frames nicht verschlüsseln. In diesem Szenario gibt der Decoder "pContentKey = NULL" und "ContentKeySize = 0" für die Frames an, die nicht verschlüsselt werden.
- 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 |
---|---|
mindestens unterstützte Client- | Windows 8 [Desktop-Apps | UWP-Apps] |
mindestens unterstützte Server- | Windows Server 2012 [Desktop-Apps | UWP-Apps] |
Zielplattform- | Fenster |
Header- | d3d11.h |