Verwenden des Videomischungsrenderers
Sowohl im Hinblick auf die Leistung als auch auf die Breite der Features stellt der Filter Video Mixing Renderer (VMR) die nächste Generation beim Videorendering auf der Windows-Plattform dar. Die VMR ersetzt die Overlay-Mixer und den Videorendererund fügt viele neue Mischungsfunktionen hinzu.
Es gibt zwei Versionen der VMR:
- Die VMR-7, die DirectDraw 7 für das Rendering verwendet.
- Die VMR-9, die Direct3D 9 verwendet.
VMR-7 ist auf Windows XP und höher verfügbar, aber nicht für die Weiterverteilung verfügbar. VMR-9 steht für die Weiterverteilung auf allen Plattformen zur Verfügung, die von DirectX 9 unterstützt werden. Die beiden VMR-Filter sind in ihrer Implementierung und den Schnittstellen, die sie verfügbar machen, sehr ähnlich.
VMR-9 verfügt über eine eigene CLSID und einen eigenen Satz von Schnittstellen, Strukturen und Enumerationstypen, die aufgrund der zugrunde liegenden Unterschiede zwischen DirectDraw 7 und Direct3D 9 nicht immer mit den entsprechenden Datentypen für VMR-7 identisch sind. Die VMR-9-Schnittstellen enden alle mit "9", z. B. IVMRStreamConfig9, und die Strukturen und Enumerationstypen weisen alle "VMR9" in ihrem Namen auf, um sie von den datentypen zu unterscheiden, die mit VMR-7 verwendet werden.
Um Abwärtskompatibilität sicherzustellen, ist VMR-9 nicht der Standardrenderer auf einem System. Um VMR-9 zu verwenden, müssen Sie es explizit dem Filterdiagramm mithilfe der IFilterGraph::AddFilter-Methode hinzufügen und konfigurieren, bevor Sie es mit Upstreamfiltern verbinden.
Dieser Artikel enthält folgende Abschnitte. Sofern nicht anders angegeben, gelten die Informationen in diesen Abschnitten für die Filter VMR-7 und VMR-9.
- Informationen zum Rendern von Videomischungen
- VMR-Betriebsmodi
- Erstellen einer VMR-9-Filter-Graph
- Verwenden des VMR-Gemischtmodus
- Festlegen von Deinterlace-Einstellungen
- Verwenden der VMR für DirectShow-Filterentwickler
- Verwenden von Certified Output Protection Protocol (COPP)