Filtre du mixeur de superposition
le filtre de Mixer de superposition est un convertisseur vidéo conçu spécifiquement pour la lecture de DVD et la diffusion de flux vidéo avec un sous-titrage de ligne-21. le Mixer de superposition prend également en charge les Extensions de Port vidéo (VPEs), ce qui lui permet de fonctionner avec des décodeurs matériels MPEG-2 ou des tuners TV analogiques qui envoient des vidéos directement à la carte graphique, plutôt que via le bus PCI.
Notes
le convertisseur de mixage vidéo 9 est maintenant préféré à la superposition Mixer filtre, sauf dans les scénarios VPE.
le Mixer de superposition utilise DirectDraw pour le rendu. Elle nécessite une surface de recouvrement sur la carte graphique. Le flux vidéo principal doit être connecté à la broche 0. Les flux secondaires (graphiques de sous-titres ou sous-images de DVD) sont connectés aux broches 1 et ultérieure. la superposition Mixer blits les flux secondaires directement sur le aire principal ; Il n’effectue pas de mélange ou d’alpha.
le Mixer de superposition utilise le convertisseur vidéo pour la gestion des fenêtres. le convertisseur vidéo se connecte à la broche de sortie de l’Mixer de recouvrement.
Ce filtre est automatiquement ajouté au graphique de filtre lorsque les applications utilisent les interfaces IDvdGraphBuilder et ICaptureGraphBuilder2 pour créer le graphique. le gestionnaire de Graph de filtre n’ajoute pas automatiquement les Mixer de superposition au graphique.
Notes
Dans le tableau suivant, les sous-types de médias acceptés sur la broche d’entrée 0 sont dépendants du matériel. le Mixer de superposition ne peut pas déterminer si un sous-type particulier est pris en charge jusqu’à ce qu’il crée la surface DirectDraw. Par conséquent, le seul moyen pour un filtre en amont de déterminer si un sous-type est pris en charge consiste à tenter une connexion avec ce sous-type.
| Étiquette | Valeur |
|---|---|
| Interfaces de filtre | IAMOverlayFX, IAMVideoDecimationProperties, IBaseFilter, IDDrawExclModeVideo, IKsPropertySet, IMediaPosition, IMediaSeeking, IMixerOCX, IQualProp, IVPNotify, IVPNotify2 |
| Types de média de broche d’entrée | Type majeur : MEDIATYPE_Video Sous-types
|
| Interfaces pin d’entrée | IAMVideoAccelerator, IKsPin, IKsPropertySet, IMemInputPin, IMixerPinConfig, IMixerPinConfig2, IOverlay (broche 0 uniquement), IPIN, IPinConnection, IQualityControl, IVPNotify, IVPNotify2 |
| Types de média de broche de sortie | MEDIATYPE_Video, MEDIASUBTYPE_Overlay |
| Interfaces de broche de sortie | IMediaPosition, IMediaSeeking, IPIN, IQualityControl |
| CLSID du filtre | CLSID_OverlayMixer |
| CLSID de page de propriétés | Aucune page de propriétés. |
| Exécutable | qdvd.dll |
| Mérite | MERIT_DO_NOT_USE |
| Catégorie de filtre | CLSID_LegacyAmFilterCategory |
Remarques
le Mixer de superposition utilise la clé de couleur de destination pour mélanger des surfaces vidéo avec des superpositions. Elle BLITS la clé de couleur et la vidéo secondaire à la surface primaire, puis envoie la vidéo principale à la surface de recouvrement. La carte graphique compose ensuite les deux surfaces dans sa mémoire tampon de trame.
Pour vérifier si le pilote Graphics prend en charge la superposition matérielle, appelez IDirectDraw7 :: GetCaps. Si le champ dwMaxVisibleOverlays de la structure DDCAPS est supérieur à zéro, le pilote prend en charge la superposition matérielle.
les Applications peuvent contrôler certains comportements sur la superposition Mixer par le biais de l’interface IMixerPinConfig2 . les développeurs de jeux peuvent utiliser la superposition Mixer pour afficher les vidéos en Mode exclusif DirectDraw, comme décrit plus loin dans cette section. Le filtre de convertisseur de mixage vidéo 9 (VMR-9) offre désormais une meilleure prise en charge de la vidéo dans les jeux. Pour plus d’informations, consultez utilisation du convertisseur de mixage vidéo.
les informations suivantes sont fournies à l’avantage des développeurs de filtres et des développeurs de jeux qui souhaitent utiliser la superposition Mixer en Mode exclusif DirectDraw.
superposition Mixer opérations internes
le Mixer de superposition expose une broche d’entrée pour chaque flux entrant. En règle générale, il existe trois broches d’entrée : le code confidentiel 0 pour les données vidéo et les broches 1 et 2 pour les données de sous-image de ligne 21 et de DVD. en interne, le Mixer de superposition crée un objet DirectDraw avec une surface principale comprenant l’intégralité du bureau, plus une surface de recouvrement dont le rectangle est défini par la taille du flux vidéo sur la broche 0. si le décodeur ne spécifie pas de clé de couleur, le Mixer de recouvrement utilise des clés de couleur par défaut : gris foncé pour les cartes graphiques plus récentes et le magenta pour les plus anciennes cartes de couleur 256.
Notes
Les résultats ne sont pas définis si le décodeur remet deux flux vidéo secondaires simultanément à la même place sur la surface de recouvrement. (Cela se produit parfois avec les DVD qui contiennent des flux de sous-image et de ligne 21.) La vidéo peut scintiller ou n’afficher qu’un seul flux.
sur Windows Vista ou version ultérieure, la superposition Mixer désactive la composition du Gestionnaire de fenêtrage (DWM) si le pilote d’affichage prend en charge la superposition matérielle. les Applications doivent éviter d’utiliser le filtre de Mixer de recouvrement ; Utilisez VMR-9 ou le convertisseur vidéo amélioré (EVR) à la place.
Connexion amont avec le décodeur vidéo
en général, les broches d’entrée du Mixer de superposition se connectent à un décodeur vidéo en amont. Le flux vidéo principal doit se connecter à la broche 0. La ligne 21 ou les flux de sous-image se connectent à la broche 1 ou supérieure. Si le décodeur est un décodeur logiciel qui utilise exclusivement le processeur hôte, la connexion entre le décodeur et la broche 0 est une connexion IMemInputPin . Si le décodeur utilise l’accélération matérielle, la connexion à la broche 0 doit utiliser le inferface IAMVideoAccelerator . Ces deux types de connexions s’excluent mutuellement.
Si le décodeur crée directement sur la surface de recouvrement, il doit utiliser l’interface IOverlay sur le pin 0 et implémenter l’interface IOverlayNotify .
les filtres qui encapsulent un décodeur matériel et se connectent à la superposition Mixer via un port vidéo doivent implémenter l’interface IVPConfig . le Mixer de superposition implémente l’interface IVPNotify . ces deux interfaces permettent au décodeur de spécifier les surfaces de superposition qu’il requiert, et elles permettent au décodeur de Mixer d’informer le décodeur de l’emplacement de ces surfaces dans la mémoire vidéo.
le Mixer de superposition garantit également que le rectangle vidéo est correctement mis à l’échelle. La capture vidéo implique certains problèmes relatifs à la mise à l’échelle de l’image d’aperçu et à la capture d’images vidéo entrelacées. Si vous développez un filtre ou un pilote WDM pour un périphérique de capture vidéo matérielle, reportez-vous aux pages de référence IVPConfig et IVPNotify pour plus d’informations sur ces rubriques.
le Mixer de superposition n’est pas utilisé dans les scénarios de capture 1394 ou USB. Il est utilisé lors de la capture vidéo sur le bus PCI.
Connexion en aval avec le convertisseur vidéo
le Mixer de recouvrement a une broche de sortie qui se connecte au filtre de convertisseur vidéo . Dans ce cas, le convertisseur vidéo n’affiche pas la vidéo ; Il gère simplement la fenêtre vidéo.
La connexion de code confidentiel utilise l’interface IOverlay plutôt que l’interface IMemInputPin . le convertisseur vidéo passe son handle de fenêtre par le biais de la superposition Mixer à DirectDraw, qui gère le découpage de rectangle. les Applications peuvent contrôler le convertisseur vidéo par le biais des interfaces IVideoWindow et IBasicVideo2 sur le gestionnaire de Graph de filtre.
Mode exclusif DirectDraw
le mode en mode exclusif DirectDraw de Mixer de superposition permet aux jeux d’afficher des vidéos sur une partie de l’écran. dans ce mode, le Mixer de superposition affiche la vidéo directement sur une surface DirectDraw créée par l’application de jeu, plutôt que sur une fenêtre fournie par le convertisseur vidéo. Cela permet aux jeux de contrôler la clé de couleur. le Mixer de superposition expose une seule broche d’entrée en mode exclusif DirectDraw, ce qui signifie qu’aucune combinaison de la ligne 21 ou de la sous-image de DVD ne peut être effectuée dans ce mode.
pour utiliser la superposition Mixer en mode exclusif DirectDraw, créez une instance de la superposition Mixer et interrogez-la pour l’interface IDDrawExclModeVideo avant de générer le graphique de filtre. Appelez ensuite IDDrawExclModeVideo :: SetDDrawSurface pour spécifier la surface DirectDraw pour le rendu. Une limitation significative de ce mode est que le jeu n’obtient pas l’accès aux bits vidéo réels. si vous utilisez IDDrawExclModeVideo, votre application crée la surface principale, et la superposition Mixer crée la surface de recouvrement.
vous pouvez également utiliser le mode exclusif DirectDraw pour effectuer un rendu sans fenêtre (par exemple, dans une page Web), mais cela n’est pas recommandé, car le chevauchement Mixer n’effectue pas de mélange dans ce mode. Cela signifie qu’aucune donnée de ligne 21 ou de sous-image ne peut être affichée.