Video Mixing Renderer Filter 7
[The feature associated with this page, DirectShow, is a legacy feature. It has been superseded by MediaPlayer, IMFMediaEngine, and Audio/Video Capture in Media Foundation. Those features have been optimized for Windows 10 and Windows 11. Microsoft strongly recommends that new code use MediaPlayer, IMFMediaEngine and Audio/Video Capture in Media Foundation instead of DirectShow, when possible. Microsoft suggests that existing code that uses the legacy APIs be rewritten to use the new APIs if possible.]
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.
Label | Value |
---|---|
Filter Interfaces | All modes:
Windowless mode: Renderless mode: Mixer mode: For information about the various VMR-7 modes, see VMR Modes of Operation. |
Input Pin Media Types | Major type: MEDIATYPE_VideoSubtype: 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:
|
Property Page CLSID | Not applicable. |
Executable | Quartz.dll |
Merit | MERIT_PREFERRED + 1 |
Filter Category | CLSID_LegacyAmFilterCategory |
Remarks
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:
- IVMRImagePresenter
- IVMRImagePresenterConfig (optional)
- IVMRMonitorConfig (optional)
- IVMRSurfaceAllocator
- 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.
Related topics