Microsoft DirectX 9.0

Video Mixing Renderer Filter 7

This topic applies to Windows XP only.

In Microsoft® Windows® XP, 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 only on Windows XP. It is not available through the DirectX redistributable, or on previous versions of Windows. For most scenarios, application developers are encouraged to use the Video Mixing Renderer 9.

Features of the VMR include:

During graph building on Windows XP, 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 IAMVideoAccelerator, IBaseFilter, IBasicVideo, IBasicVideo2, IQualProp, IVideoWindow, IVMRAspectRatioControl, IVMRDeinterlaceControl, IVMRFilterConfig, IVMRImageCompositor, IVMRImagePresenter, IVMRImagePresenterConfig, IVMRMixerBitmap, IVMRMixerControl, IVMRSurfaceAllocator, IVMRSurfaceAllocatorNotify, IVMRWindowlessControl
Input Pin Media Types Any type with a major type of MEDIATYPE_Video.
Input Pin Interfaces IAMVideoAccelerator, IMemInputPin, IOverlay (see Remarks), IPin, IPinConnection, IQualityControl, IVMRVideoStreamControl
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 N/A
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.