Décodeur vidéo MPEG-4 Part 2
Le décodeur vidéo MPEG4 Part 2 décode les flux vidéo qui ont été encodés en suivant la norme MPEG4 Part 2.
Vous pouvez créer une instance de l’encodeur vidéo MPEG4 Part 2 en appelant CoCreateInstance. Pour créer une instance du décodeur qui se comporte en tant qu’objet DMO (DirectX Media Object), utilisez l’identificateur de classe CLSID_CMpeg4sDecMediaObject. Pour créer une instance du décodeur qui se comporte comme une transformation Media Foundation (MFT), utilisez l’identificateur de classe CLSID_CMpeg4sDecMFT.
Types d’entrée
Le décodeur vidéo MPEG4 Part 2 prend en charge les types de supports d’entrée suivants.
- MEDIASUBTYPE_M4S2
- MEDIASUBTYPE_m4s2
- MEDIASUBTYPE_MP4V
- MEDIASUBTYPE_mp4v
- MEDIASUBTYPE_MP4S (déconseillé)
- MEDIASUBTYPE_mp4s (déconseillé)
Types de sortie
Le décodeur vidéo MPEG4 Part 2 prend en charge les sous-types de supports de sortie suivants lorsqu’il agit en tant qu’objet DMO.
- MEDIASUBTYPE_YV12
- MEDIASUBTYPE_NV12
- MEDIASUBTYPE_YUY2
- MEDIASUBTYPE_UYVY
- MEDIASUBTYPE_YVYU
- MEDIASUBTYPE_NV11
- MEDIASUBTYPE_RGB32
- MEDIASUBTYPE_RGB24
- MEDIASUBTYPE_ RGB565
- MEDIASUBTYPE_RGB555
- MEDIASUBTYPE_RGB8
Le décodeur vidéo MPEG4 Part 2 prend en charge les sous-types de supports de sortie suivants lorsqu’il agit en tant que MFT.
- MEDIASUBTYPE_NV12
- MEDIASUBTYPE_YV12
Formats
Le décodeur vidéo MPEG4 Part 2 accepte les formats suivants.
- VIDEOINFOHEADER
- VIDEOINFOHEADER2 (VIH2)
- MFVideoInfo
- MPEG2VIDEOINFO (Seule la partie VIH2 de l’en-tête est utilisée.)
Interfaces pour l’objet DMO
Si vous créez une instance du décodeur vidéo MPEG4 Part 2 en tant qu’objet DMO, le décodeur expose les interfaces suivantes.
Vous pouvez obtenir une interface IMediaObject en appelant CoCreateInstance, et vous pouvez obtenir une interface ICodecAPI en appelant QueryInterface.
Interfaces pour le MFT
Si vous créez une instance du décodeur vidéo MPEG2 Part 2 en tant que MFT, le décodeur expose les interfaces suivantes.
Vous pouvez obtenir un pointeur vers l’interface IMFTransform en appelant CoCreateInstance, et vous pouvez obtenir un pointeur vers l’interface IMFAttributes en appelant IMFTransform::GetAttributes. Vous pouvez obtenir un pointeur vers l’interface IMFQualityAdvise ou IMFQualityAdvise2 en appelant QueryInterface sur le MFT. Vous pouvez obtenir un pointeur vers l’interface IMFRateControl ou IMFRateSupport en appelant MFGetService et en transmettant l’identificateur de service MF_RATE_CONTROL_SERVICE.
Profils et niveaux
La spécification MPEG4 définit plusieurs profils, chacun spécifiant les outils qu’un encodeur peut utiliser pour générer un flux encodé. Le décodeur vidéo MPEG4 Part2 prend en charge deux de ces profils : profil visuel simple et profil simple avancé. En d’autres termes, le décodeur vidéo MPEG4 Part 2 peut décoder des flux encodés en fonction du profil visuel simple ou du profil simple avancé.
Le profil visuel simple prend en charge la transmission de base d’une vidéo à faible débit en mode progressif. Il prend uniquement en charge les images Intra et Prediction. Il prend également en charge le mode d’en-tête court, qui est rétrocompatible avec le profil de base H.263. À compter de Windows 10, le décodeur vidéo MPEG-4 Part 2 prend également en charge H.263v2 (H.263+) qui prend en charge les tailles d’image personnalisées.
Le profil simple avancé prend en charge tous les outils du profil visuel simple. En outre, il prend en charge la vidéo entrelacée, les images B, la compensation de mouvement quarter-pel, les tables de quantification supplémentaires et la compensation de mouvement globale.
La spécification MPEG4 définit également plusieurs niveaux, chacun spécifiant des contraintes sur le flux de sortie généré par un encodeur.
Le tableau suivant présente les profils et les niveaux, ainsi que les résolutions classiques, pris en charge par le décodeur vidéo MPEG4 Part 2.
Profil | Level | Résolution classique |
---|---|---|
Visuel simple | 0 | 176 x 144 |
Visuel simple | 1 | 176 x 144 |
Visuel simple | 2 | 352 x 288 |
Visuel simple | 3 | 352 x 288 |
SimpleVisual | 4a | 640 x 480 |
Visuel simple | 5 | 720 x 576 |
Simple avancé | 0 | 176 x 144 |
Simple avancé | 1 | 176 x 144 |
Simple avancé | 2 | 352 x 288 |
Simple avancé | 3 | 352 x 288 |
Simple avancé | 3b | 352 x 288 |
Simple avancé | 4 | 352 x 756 |
Simple avancé | 5 | 720 x 576 |
Pour plus d’informations sur les profils et les niveaux, consultez la spécification MPEG4 Part 2 (ISO/IEC 14496-2) : Technologie de l’information -- Codage d’objets audio-visuels -- Partie 2 : Visuel.
Propriétés de l’encodeur
Pour définir des propriétés sur le décodeur vidéo MPEG4 Part 2, utilisez l’interface ICodecAPI ou l’interface IMFAttributes.
Le décodeur vidéo MPEG4 Part 2 prend en charge les propriétés suivantes.
Propriété | Description | Valeur par défaut |
---|---|---|
CODECAPI_AVDecVideoSWPowerLevel | Spécifie le niveau de puissance.
En écriture seule. |
100 |
CODECAPI_AVDecVideoThumbnailGenerationMode | Spécifie le mode de génération de miniatures.
En écriture seule. |
VARIANT_FALSE |
Notes
Les identificateurs globaux uniques (GUID) pour les sous-types de supports RVB diffèrent selon qu’un décodeur agit en tant qu’objet DMO ou MFT. Les GUID pour les sous-types de supports non RVB sont identiques, que le décodeur agisse en tant qu’objet DMO ou MFT. Pour plus d’informations sur les GUID qui représentent des sous-types de supports, consultez Types de supports.
Configuration requise
Condition requise | Value |
---|---|
Client minimal pris en charge |
Windows 7 [applications de bureau uniquement] |
Serveur minimal pris en charge |
Windows Server 2008 R2 [applications de bureau uniquement] |
En-tête |
|
DLL |
|
Voir aussi