Partager via


VMR vs. Renderers DirectShow précédents

[La fonctionnalité associée à cette page, DirectShow, est une fonctionnalité héritée. Il a été remplacé par MediaPlayer, IMFMediaEngineet audio/vidéo capture dans 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 capture audio/vidéo dans Media Foundation au lieu de directShow, 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.]

Avec les anciens filtres, différents renderers sont requis dans le graphique en fonction de la configuration matérielle.

Le filtre Video Renderer a été utilisé pour afficher un flux vidéo unique dans des scénarios de port non vidéo. Il était basé sur la technologie du matériel graphique qui est maintenant plus de cinq ans, et sur une version plus ancienne de DirectDraw. Dans certains scénarios, il utilise GDI pour le rendu. Cela est fait soit pour conserver des ressources vidéo, qui étaient beaucoup plus limitées il y a cinq ans, soit pour surmonter les limitations dans DirectDraw qui étaient liées à la prise en charge multi-moniteur. Ni vmR-7 ni vmR-9 n’utilise jamais GDI pour le rendu ; vmR-7 est entièrement basé sur DirectDraw 7 et VMR-9 est basé sur Direct3D 9.

Dans les scénarios impliquant un port vidéo ou plusieurs flux d’entrée vidéo, avant le VMR, le filtre mélangeur de superposition a été utilisé pour le rendu. Ce filtre utilise uniquement la superposition matérielle sur la carte graphique, et est donc généralement limité à la surface de superposition fournie par la plupart des cartes. Le mélangeur overlay effectue une touche de couleur de destination, mais elle n’est pas capable de fusionner alpha. Étant donné qu’il n’a pas de gestionnaire de fenêtres, il doit utiliser un deuxième filtre, le Renderer Video, pour la gestion des fenêtres. VmR est capable d’effectuer une fusion alpha vraie et peut créer plusieurs superpositions dans des logiciels en plus des superpositions matérielles.

Dans les scénarios de port vidéo où les applications superposaient le sous-titrage ou d’autres données VBI sur la vidéo, un filtre supplémentaire, le VBI Surface Allocator, était nécessaire pour allouer la mémoire vidéo supplémentaire pour le texte VBI. Pour les éditeurs de logiciels indépendants, VMR-7 simplifie le développement d’applications en combinant l’allocation et la fonctionnalité de rendu en un seul filtre utilisé dans tous les scénarios. Avec VMR, l’allocateur surface VBI n’est plus nécessaire. Ce filtre est remplacé dans Windows XP par le nouveau filtre Video Port Manager qui effectue toutes les tâches de port vidéo précédemment effectuées par le mixeur overlay.

Note

VMR-9 ne prend pas en charge les ports vidéo.

 

VmR est plus robuste que les convertisseurs précédents, en partie parce qu’il utilise uniquement DirectDraw 7 (ou Direct3D 9 si vous utilisez les interfaces VMR-9), par opposition aux anciens renderers qui ont utilisé un mélange d’interfaces provenant de versions antérieures et plus récentes de DirectDraw. VmR utilise également un nouveau mécanisme de présentation d’image conçu pour les générations actuelles et futures d’adaptateurs, qui prennent en charge Direct3D, une augmentation de la bande passante de la mémoire vidéo et de la mémoire vidéo et des fonctionnalités d’accélération matérielle. Avec VMR, le focus est mis sur le traitement frontal et réduit la dépendance vis-à-vis des ports vidéo et des superpositions. Mais même avec toutes ses nouvelles fonctionnalités, vmR est conçu pour une compatibilité maximale avec les applications existantes.

La machine virtuelle est également extensible. Les applications peuvent fournir leurs propres sous-composants pour effectuer des effets vidéo personnalisés et/ou prendre le contrôle du processus d’allocation et de rendu.

À propos de la de rendu de mixage vidéo