Partager via


Renderer vidéo amélioré

[Le composant décrit dans cette page, de renderer vidéo amélioré, est une fonctionnalité héritée. Il a été remplacé par le Simple Video Renderer (SVR) exposé via les composants MediaPlayer et IMFMediaEngine. Pour lire du contenu vidéo, vous devez envoyer des données dans l’un de ces composants et les autoriser à instancier le nouveau convertisseur vidéo. Ces composants ont été optimisés pour Windows 10 et Windows 11. Microsoft recommande vivement que le nouveau code utilise MediaPlayer ou le niveau inférieur IMFMediaEngine API pour lire des médias vidéo dans Windows au lieu de l’EVR, lorsque cela est possible. Microsoft suggère que le code existant qui utilise les API héritées soit réécrit pour utiliser les nouvelles API si possible.]

Le convertisseur vidéo amélioré (EVR) est un composant qui affiche la vidéo sur le moniteur de l’utilisateur. Deux versions de l’EVR existent :

  • Récepteur multimédia EVR, pour les applications Media Foundation.
  • Filtre EVR, pour les applications DirectShow.

Les deux versions utilisent les mêmes objets internes pour restituer la vidéo et partagent plusieurs des mêmes interfaces.

L’EVR peut mélanger jusqu’à 16 flux vidéo. Le premier flux d’entrée est appelé flux de référence. Le flux de référence s’affiche toujours en premier dans l’ordre z. Tous les flux supplémentaires sont appelés sous-fluxet sont mélangés au-dessus du flux de référence. L’application peut modifier l’ordre z des sous-flux, mais aucun sous-flux ne peut être d’abord dans l’ordre z.

Le pilote graphique détermine les formats vidéo pris en charge, mais ils sont généralement limités aux éléments suivants :

  • Flux de référence : YUV progressif ou entrelacé sans alpha par pixel (tel que NV12 ou YUY2) ; ou RVB progressif.
  • Sous-flux : YUV progressif avec alpha par pixel, comme AYUV ou AI44.

Les formats de sous-flux disponibles peuvent dépendre du format du flux de référence. Pour plus d’informations, consultez négociation de type de média EVR.

En interne, l’EVR utilise un objet appelé mélangeur pour compositer les images des flux d’entrée sur une surface pour le rendu. Le mélangeur effectue également une correction de la couleur et de la déinterlacation. La sortie du mélangeur est la trame vidéo composite finale. Un deuxième objet appelé présentateur restitue l’image vidéo à l’affichage. Le présentateur planifie le rendu des images et gère l’appareil Direct3D. Une application peut fournir une implémentation personnalisée du mélangeur ou du présentateur.

La fréquence d’images de sortie est verrouillée dans le flux de référence. Chaque fois que les sous-flux reçoivent de nouvelles trames, le mélangeur les maintient sur eux. Lorsque le flux de référence reçoit un nouveau cadre, les composites de mélangeur qui imagent avec les trames de sous-flux. (Si le flux de référence est entrelacé, un cadre de référence complet peut nécessiter plusieurs exemples de supports.) Il est possible qu’un sous-flux reçoive plusieurs images pendant que le mélangeur attend une trame de référence. Dans ce cas, le mélangeur ignore simplement le cadre de sous-flux précédent.

Étant donné que le présentateur crée l’appareil Direct3D, il est également responsable du partage de l’appareil avec d’autres objets de pipeline qui doivent accéder aux services DXVA (DirectX Video Acceleration). En particulier, le mélangeur EVR utilise les services de traitement vidéo DXVA pour déinterlacer et mélanger la vidéo. En externe à l’EVR, les décodeurs logiciels peuvent utiliser DXVA pour le décodage vidéo accéléré. Le présentateur partage l’appareil Direct3D au moyen de l'Gestionnaire de périphériques Direct3D. Le diagramme suivant montre l’architecture interne de l’EVR. (Le décodeur logiciel, grisé, ne fait pas partie de l’EVR.)

diagramme architectural montrant l’evr.

EVR Interfaces

L’EVR prend en charge les interfaces suivantes. Certaines de ces interfaces sont implémentées par le mélangeur ou le présentateur. Pour chaque interface, la rubrique de référence décrit comment obtenir un pointeur vers l’interface.

Interface Description
IEVRFilterConfig Définit le nombre de broches d’entrée sur le filtre EVR (DirectShow uniquement).
IEVRFilterConfigEx Configure le filtre EVR (DirectShow uniquement).
IEVRTrustedVideoPlugin Permet à un plug-in EVR de restituer une vidéo protégée.
IMFDesiredSample Permet au présentateur EVR de demander un frame spécifique à partir du mélangeur.
IMFQualityAdvise Permet au gestionnaire de qualité d’ajuster la qualité vidéo EVR.
IMFTopologyServiceLookup Permet à un mélangeur ou présentateur personnalisé d’obtenir des pointeurs d’interface à partir de l’EVR.
IMFVideoDeviceID Retourne l’identificateur de l’appareil d’un mélangeur ou d’un présentateur EVR.
IMFVideoDisplayControl Contrôle la façon dont l’EVR affiche la vidéo.
IMFVideoMixerBitmap Alpha fusionne une image bitmap statique avec la vidéo.
IMFVideoMixerControl Contrôle la façon dont le renderer vidéo amélioré (EVR) combine les sous-flux vidéo.
IMFVideoMixerControl2 Contrôle les préférences de déinterlacation vidéo.
IMFVideoPositionMapper Mappe une position sur un flux vidéo d’entrée à la position correspondante sur un flux vidéo de sortie.
IMFVideoPresenter Exposé par le présentateur EVR.
IMFVideoProcessor Contrôle le traitement vidéo, notamment l’ajustement, les filtres de bruit et les filtres de détails.
IMFVideoRenderer Définit un mélangeur ou un présentateur sur l’EVR.
IMFVideoSampleAllocator Alloue des exemples vidéo.

 

Dans cette section

Sujet Description
à l’aide du filtre EVR DirectShow Comment utiliser l’EVR dans une application DirectShow.
à l’aide du récepteur multimédia EVR Comment utiliser l’EVR dans une application Media Foundation.
à l’aide des contrôles d’affichage vidéo Comment contrôler la façon dont l’EVR affiche la vidéo à l’intérieur de la fenêtre d’application.
à l’aide des contrôles de mixage vidéo Comment contrôler la façon dont le mélangeur EVR fonctionne.
négociation de type média EVR Décrit comment l’EVR détermine les formats vidéo qu’il peut accepter comme entrée.
mixeurs personnalisés Comment écrire un mélangeur personnalisé pour l’EVR.
Comment écrire un présentateur EVR Comment écrire un présentateur personnalisé pour l’EVR.

 

de lecture audio/vidéo