Video Mixing Renderer Filter 7
This topic applies to Windows XP or later.
In Windows XP and later, the Video Mixing Renderer 7 (VMR-7) is the default video renderer. It is called the VMR-7 because internally it uses DirectDraw 7. In DirectX 9, a similar but separate filter, the VMR-9, is available for redistribution on non-XP systems. The VMR-9 uses Direct3D 9.
Note The VMR is available on Windows XP and later. It is not available through the DirectX redistributable, or on previous versions of Windows. For most scenarios, applications should use the Video Mixing Renderer 9.
Features of the VMR include:
- True alpha blending of up to 16 input streams
- Access to the composited image before it is rendered
- A plug-in model that enables third-parties to implement custom video effects.
- Support for up to 15 monitors.
During graph building on Windows XP and later, the Filter Graph Manager will not use the older Video Renderer or Overlay Mixer filters, unless the application explicitly creates them and adds to the graph.
For more information, see Using the Video Mixing Renderer.
|Filter Interfaces||All modes:|
For information about the various VMR-7 modes, see VMR Modes of Operation.
|Input Pin Media Types||Major type: MEDIATYPE_Video|
Subtype: Depends on the graphics hardware. Must be uncompressed video.
|Input Pin Interfaces|
|Output Pin Media Types||Not applicable.|
|Output Pin Interfaces||Not applicable.|
|Filter CLSID||There are two CLSIDs associated with this filter:|
Use CLSID_VideoMixingRenderer if you need the specific capabilities of the VMR-7. Otherwise, use CLSID_VideoRendererDefault, which is almost certain not to fail, because it falls back to the old Video Renderer filter.
|Property Page CLSID||Not applicable.|
|Merit||MERIT_PREFERRED + 1|
The input pin exposes the IOverlay interface only when the VMR-7 filter is in windowed mode. The only IOverlay method that the pin implements is GetWindowHandle, which enables an application to obtain a handle to the filter's video window. All other IOverlay methods return E_NOTIMPL. In windowless mode, the filter does not create a video window, so the pin does not expose the interface.
An application can provide a custom allocator-presenter object that exposes the following interfaces:
- IVMRImagePresenterConfig (optional)
- IVMRMonitorConfig (optional)
- IVMRWindowlessControl (optional)
For more information about custom allocator-presenters, see Supplying a Custom Allocator-Presenter for VMR-7.
An application can also provide a custom plug-in compositor that exposes the following interface:
To configure the VMR with a custom compositor, call IVMRFilterConfig::SetImageCompositor.