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
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für