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:Windowed mode:
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:
  • CLSID_VideoMixingRenderer: Creates the VMR-7. If there are not enough system resources to create the VMR-7, the call to CoCreateInstance fails.
  • CLSID_VideoRendererDefault: Creates the VMR-7 if system resources are available, or else creates the old Video Renderer 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.
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:

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.

DirectShow Filters