Partager via


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

Voir aussi

ID3D11VideoContext