Décodeur vidéo H.264

Le décodeur vidéo Media Foundation H.264 est une transformation Media Foundation qui prend en charge le décodage des profils de base, principal et élevé, jusqu’au niveau 5.1.

Le décodeur vidéo H.264 expose les interfaces suivantes.

Pour créer un instance du décodeur, effectuez l’une des opérations suivantes :

Types d’entrée

Le type d’entrée doit contenir au moins les deux attributs suivants :

Attribut Description
MF_MT_MAJOR_TYPE MFMediaType_Video
MF_MT_SUBTYPE MFVideoFormat_H264 ou MFVideoFormat_H264_ES

 

Si le type d’entrée contient uniquement ces deux attributs, le décodeur propose un type de sortie par défaut, qui agit comme un espace réservé. Lorsque le décodeur reçoit suffisamment d’échantillons d’entrée pour produire une trame de sortie, il signale un changement de format en retournant MF_E_TRANSFORM_STREAM_CHANGE à partir de IMFTransform::P rocessOutput. Consultez la documentation ProcessOutput pour plus d’informations sur la gestion des modifications de format.

Pour éviter un changement de format initial, fournissez autant d’informations que possible dans le type d’entrée, notamment :

Attribut Description
MF_MT_FRAME_RATE Fréquence d’images.
MF_MT_FRAME_SIZE Dimensions du cadre.
MF_MT_INTERLACE_MODE Mode entrelacé. Note: Dans la vidéo H.264, la structure entrelacs peut changer dynamiquement, de sorte que la valeur recommandée de cet attribut est MFVideoInterlace_MixedInterlaceOrProgressive. Les informations entrelaces dans le flux élémentaire vidéo sont prioritaires sur le type de média. Pour plus d’informations, consultez Interlacing vidéo.
MF_MT_PIXEL_ASPECT_RATIO Proportion de pixels.

 

Le type d’entrée doit être défini avant le type de sortie. Tant que le type d’entrée n’est pas défini, la méthode IMFTransform::SetOutputType de l’encodeur retourne MF_E_TRANSFORM_TYPE_NOT_SET.

Types de sortie

Le décodeur prend en charge les sous-types de sortie suivants :

  • MFVideoFormat_I420
  • MFVideoFormat_IYUV
  • MFVideoFormat_NV12
  • MFVideoFormat_YUY2
  • MFVideoFormat_YV12

Pour plus d’informations sur ces sous-types, consultez GUID de sous-type vidéo.

Transformer les attributs

Le décodeur H.264 implémente la méthode IMFTransform::GetAttributes . Les applications peuvent utiliser cette méthode pour obtenir ou définir les attributs suivants.

Attribut Description
CODECAPI_AVDecVideoAcceleration_H264 Active ou désactive l’accélération matérielle.
CODECAPI_AVDecVideoThumbnailGenerationMode Active ou désactive le mode de génération de miniatures.
MF_SA_D3D_AWARE Indique que le décodeur prend en charge l’accélération vidéo DirectX (DXVA). Traitez en lecture seule.

 

Dans Windows 8, le décodeur H.264 prend également en charge les attributs suivants.

Attribut Description
CODECAPI_AVLowLatencyMode Active ou désactive le mode de décodage à faible latence.
CODECAPI_AVDecNumWorkerThreads Définit le nombre de threads de travail utilisés par le décodeur.
CODECAPI_AVDecVideoMaxCodedWidth Définit la largeur d’image maximale que le décodeur acceptera comme type d’entrée.
CODECAPI_AVDecVideoMaxCodedHeight Définit la hauteur d’image maximale que le décodeur acceptera comme type d’entrée.
MF_SA_MINIMUM_OUTPUT_SAMPLE_COUNT Spécifie le nombre maximal d’exemples de sortie.
MFT_DECODER_EXPOSE_OUTPUT_TYPES_IN_NATIVE_ORDER Spécifie si un décodeur expose les types de sortie IYUV/I420 (appropriés pour le transcodage) avant d’autres formats.

 

Dans Windows 8, le décodeur H.264 prend en charge l’interface ICodecAPI . Cette interface fournit une API alternatetivate pour définir les propriétés de codec suivantes.

Contraintes de format

Le décodeur prend en charge les formats suivants :

Paramètre Format
Profils/niveaux Profils de base, principal et élevé, jusqu’au niveau 5.1. (Pour plus d’informations, voir spécification ITU-T H.264.)
Chroma Formats 4:2:0 chroma ou monochrome
Résolution minimale 48 × 48 pixels
Résolution maximale 4096 × 2304 pixels
La résolution maximale garantie pour l’accélération DXVA est de 1920 × 1 088 pixels ; à des résolutions plus élevées, le décodage est effectué avec DXVA. S’il est pris en charge par le matériel sous-jacent, sinon, le décodage s’effectue avec un logiciel.
Note: Dans Windows 7, la résolution maximale prise en charge est de 1920 × 1 088 pixels pour le décodage logiciel et DXVA.
DXVA Le décodeur prend en charge DXVA version 2, mais pas DXVA version 1. Le décodage DXVA est pris en charge uniquement pour les flux de bits de base, principal et haut profil compatibles avec main. (Les flux binaires de base compatibles avec les principaux sont définis comme profile_idc=66 et constrained_set1_flag=1.)

 

Les données d’entrée doivent être conformes à l’Annexe B de la norme ISO/IEC 14496-10. Les données doivent inclure les codes de début. Le décodeur ignore les octets jusqu’à ce qu’il trouve un jeu de paramètres de séquence valide (SPS) et un jeu de paramètres d’image (PPS) dans le flux d’octets.

Le décodeur ne prend pas en charge la technologie Film Grain.

Notes

Une version précédente de la documentation indiquait à tort que le décodeur était pris en charge sur Windows Server 2008 R2.

 

Si le supplément de mise à jour de plateforme pour Windows Vista est installé, le décodeur vidéo H.264 est disponible sur Windows Vista, mais il est accessible sur Windows Vista uniquement à l’aide du Lecteur source.

Configuration requise

Condition requise Valeur
Client minimal pris en charge
Windows 7 [applications de bureau uniquement]
Serveur minimal pris en charge
Aucun pris en charge
DLL
Msmpeg2vdec.dll

Voir aussi

Codec Objects

Prise en charge de MPEG-4 dans Media Foundation

Formats multimédias pris en charge dans Media Foundation

Types de médias vidéo