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 la trame décodée. 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 de retour
Si cette méthode réussit, elle retourne S_OK. Sinon, elle retourne un HRESULT code d’erreur. D3DERR_WASSTILLDRAWING ou E_PENDING est retourné si le matériel est occupé, auquel cas le décodeur doit réessayer d’effectuer l’appel.
Remarques
Une fois cette méthode appelée, appelez ID3D11VideoContext ::SubmitDecoderBuffers pour effectuer des opérations de décodage. Lorsque toutes les opérations de décodage ont été exécutées, appelez ID3D11VideoContext ::D ecoderEndFrame.
Chaque appel à DecoderBeginFrame doit avoir un appel correspondant pour DecoderEndFrame. Dans la plupart des cas, vous ne pouvez pas imbriquer DecoderBeginFrame appels, mais certains codecs, tels que VC-1, peuvent avoir imbriqué DecoderBeginFrame appels pour des opérations spéciales telles que le post-traitement.
Les scénarios de chiffrement suivants sont pris en charge par le biais de la clé de contenu :
- Le décodeur peut choisir de ne pas chiffrer chaque image, par exemple, il peut uniquement chiffrer les images I et non pas chiffrer les images 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.
Exigences
Exigence | Valeur |
---|---|
client minimum pris en charge | Windows 8 [applications de bureau | Applications UWP] |
serveur minimum pris en charge | Windows Server 2012 [applications de bureau | Applications UWP] |
plateforme cible | Windows |
d’en-tête | d3d11.h |