Partager via


Mode de mixage YUV

[La fonctionnalité associée à cette page, DirectShow, est une fonctionnalité héritée. Il a été remplacé par MediaPlayer, IMFMediaEngine et Audio/Video Capture in Media Foundation. Ces fonctionnalités ont été optimisées pour Windows 10 et Windows 11. Microsoft recommande vivement que le nouveau code utilise MediaPlayer, IMFMediaEngine et Audio/Video Capture dans Media Foundation au lieu de DirectShow, si 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.]

Cette rubrique s’applique à Windows XP Service Pack 2 ou version ultérieure.

À compter de Windows XP Service Pack 2, vmr prend en charge un mode de mixage appelé mode de mixage YUV. Ce mode est particulièrement utile pour les applications de télévision ou de DVD avancées. Il échange une partie de la puissance du mixer VMR pour de meilleures performances sur le matériel graphique bas de gamme qui utilise une conception d’architecture de mémoire unifiée. Le mode de mixage YUV est pris en charge sur VMR-7 et VMR-9.

Avantages

Le mode de mixage YUV présente plusieurs avantages liés aux performances de rendu par rapport au mode de mixage RVB d’origine pris en charge par le VMR :

  • Lorsque la machine virtuelle virtuelle est en mode mixte YUV, toutes les opérations de désentlacement et de composition de flux vidéo sont effectuées dans l’espace colorimétrique YUV. Les surfaces YUV nécessitent généralement de 50 % à 60 % de bande passante mémoire en moins que les surfaces RVB équivalentes.
  • Le désinterlacement et la composition du flux sont effectués par un seul appel au pilote graphique. Le pilote peut utiliser les fonctionnalités de multi texturage du matériel graphique, ce qui permet d’économiser davantage de bande passante mémoire.

Bien que n’importe quelle application vidéo puisse utiliser le mode de mixage YUV, il est principalement destiné à deux types d’applications de lecture vidéo :

  1. Applications tv qui affichent des sous-titres ou des télétextes.
  2. Les applications DVD affichent des données de sous-image dvd ou des sous-titres.

Restrictions

Un certain nombre de restrictions sont appliquées par le VMR lorsqu’il est mis en mode mixte YUV :

  • Le flux 0 (le flux connecté à la broche d’entrée 0) peut être progressif ou entrelacé ; tous les autres flux doivent être progressifs.
  • GUID_NULL (mode de tissage) n’est pas autorisé pour le flux 0.
  • DeinterlacePref_Weave ne peut pas être utilisé comme mode de secours, car cela pourrait empêcher la création d’un appareil de désentlacement. Le mode de mixage YUV nécessite un appareil désinterlacé, même si la vidéo entrante n’est pas entrelacée.
  • Aucune modification ne peut être apportée à la valeur alpha planaire associée à chaque flux d’entrée VMR.
  • L’utilisateur ne peut pas modifier l’ordre de plan des flux vidéo connectés. L’ordre Z par défaut est extrait de l’ordre d’épingle.
  • La touche de couleur n’est pas prise en charge.
  • La broche d’entrée 0 doit recevoir le flux vidéo.
  • Les autres broches d’entrée peuvent uniquement recevoir des données de sous-flux vidéo telles que la sous-image dvd, les sous-titres ou le télétexte.
  • Les autres broches d’entrée peuvent uniquement accepter les formats YUV alpha par pixel, tels que AYUV, AI44 et IA44.
  • Aucune des broches d’entrée de VMR ne peut accepter de formats RVB.
  • Les images bitmap fournies par l’application ne peuvent plus être combinées avec la vidéo avant la présentation à l’écran.
  • Les sous-flux individuels ne peuvent pas être inversés horizontalement ou verticalement à l’aide des fonctions « rectangle de sortie » du mélangeur vmr. Le re-positionnement et le redimensionnement du flux « normal » sont pris en charge.
  • La couleur d’arrière-plan de mélange (spécifiée par IVMRMixerControl::SetBackgroundClr) est toujours spécifiée dans l’espace de couleurs RVB, tout comme en mode mélange RVB.

Configuration

Les applications doivent configurer explicitement le VMR pour tirer parti du mode de mixage YUV ; le mode de mixage RVB d’origine reste le mode de mélange par défaut. Pour activer le mode de mixage YUV dans VMR-7, appelez IVMRMixerControl::SetMixingPrefs avec l’indicateur MixerPref_RenderTargetYUV. Cet appel doit être effectué avant la connexion d’une des broches d’entrée de VMR. Pour activer le mode de mixage YUV dans VMR-9, appelez IVMRMixerControl9::SetMixingPrefs avec l’indicateur MixerPref9_RenderTargetYUV.

La seule façon de déterminer si le VMR-7 prend en charge le nouveau mode de mixage YUV consiste à essayer de définir le VMR dans ce mode. Si l’appel réussit, vous pouvez toujours remettre le VMR en mode mélange RVB si nécessaire. Une fois qu’il est défini en mode de mixage YUV, le VMR ne peut être remplacé par le mode de mixage RVB qu’une fois que toutes les broches d’entrée ont été déconnectées.

En mode mixte YUV, vous pouvez réduire la charge sur l’unité de traitement graphique (GPU) en appliquant les indicateurs suivants dans la méthode SetMixingPrefs :

Indicateur Description
VMR-7 : MixerPref_DynamicSwitchToBOBVMR-9 : MixerPref9_DynamicSwitchToBOB
Passez au désinterlacage bob.
VMR-7 : MixerPref_DynamicDecimateBy2VMR-9 : MixerPref_DynamicDecimateBy2
Décimer l’image d’un facteur de 2 horizontalement et verticalement.

 

Vous pouvez ajouter ou supprimer ces indicateurs pendant l’exécution du graphique de filtres ; la modification est appliquée lorsque le mélangeur VMR compose l’image vidéo suivante. Les indicateurs ne s’excluent pas mutuellement. Comme ces paramètres réduisent la qualité de l’image, vous ne les appliquez généralement que lorsque la qualité vidéo est moins importante, par exemple si la vidéo est lue dans une petite partie de l’interface utilisateur.

Utilisation du mode de mixage VMR