ID3D11VideoContext ::D ecoderBeginFrame, méthode (d3d11.h)
Démarre une opération de décodage pour décoder une image vidéo.
Syntaxe
HRESULT DecoderBeginFrame(
[in] ID3D11VideoDecoder *pDecoder,
[in] ID3D11VideoDecoderOutputView *pView,
[in] UINT ContentKeySize,
[in] const void *pContentKey
);
Paramètres
[in] pDecoder
Pointeur vers l’interface ID3D11VideoDecoder . Pour obtenir ce pointeur, appelez ID3D11VideoDevice ::CreateVideoDecoder.
[in] pView
Pointeur vers l’interface ID3D11VideoDecoderOutputView . Cette interface décrit la ressource qui recevra le cadre décodé. Pour obtenir ce pointeur, appelez ID3D11VideoDevice ::CreateVideoDecoderOutputView.
[in] ContentKeySize
Taille de la clé de contenu spécifiée dans pContentKey. Si pContentKey a la valeur NULL, définissez ContentKeySize sur zéro.
[in] pContentKey
Pointeur facultatif vers une clé de contenu utilisée pour chiffrer les données de trame. Si aucune clé de contenu n’a été utilisée, définissez ce paramètre sur NULL. Si l’appelant fournit une clé de contenu, l’appelant doit utiliser la clé de session pour chiffrer la clé de contenu.
Valeur retournée
Si cette méthode réussit, elle retourne S_OK. Sinon, elle retourne un code d’erreur HRESULT. D3DERR_WASSTILLDRAWING ou E_PENDING est retourné si le matériel est occupé, auquel cas le décodeur doit essayer de refaire l’appel.
Remarques
Une fois cette méthode appelée, appelez ID3D11VideoContext ::SubmitDecoderBuffers pour effectuer des opérations de décodage. Une fois toutes les opérations de décodage exécutées, appelez ID3D11VideoContext ::D ecoderEndFrame.
Chaque appel à DecoderBeginFrame doit avoir un appel correspondant à DecoderEndFrame. Dans la plupart des cas, vous ne pouvez pas imbriquer les appels DecoderBeginFrame , mais certains codecs, tels que VC-1, peuvent avoir imbriqué des appels DecoderBeginFrame pour des opérations spéciales telles que le post-traitement.
Les scénarios de chiffrement suivants sont pris en charge via la clé de contenu :
- Le décodeur peut choisir de ne pas chiffrer chaque trame, par exemple, il peut uniquement chiffrer les trames I et ne pas chiffrer les trames P/B. Dans ce scénario, le décodeur spécifie pContentKey = NULL et ContentKeySize = 0 pour les images qu’il ne chiffre pas.
- Le décodeur peut choisir de chiffrer les mémoires tampons compressées à l’aide de la clé de session. Dans ce scénario, le décodeur spécifie une clé de contenu contenant tous les zéros.
- Le décodeur peut choisir de chiffrer les mémoires tampons compressées à l’aide d’une clé de contenu distincte. Dans ce scénario, le décodeur chiffre la clé de contenu à l’aide de la clé de session et transmet la clé de contenu chiffrée.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows 8 [applications de bureau | Applications UWP] |
Serveur minimal pris en charge | Windows Server 2012 [applications de bureau | Applications UWP] |
Plateforme cible | Windows |
En-tête | d3d11.h |
Voir aussi
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour