Video Mixing Renderer Filter 9
[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.]
In DirectX 9, the Video Mixing Renderer 9 (VMR-9) filter offers advanced video rendering capabilities on all platforms supported by DirectX. It is fully integrated with DirectX 9 3D capabilities. For example, that you can easily add video to games and other 3D environments or transform video images using the Direct3D pixel shaders and other effects.
This filter does not support video ports.
To maintain backward compatibility, the VMR-9 is not the default renderer on any system. To use this filter, add it to the filter graph explicitly and configure it before connecting any of its input pins. The VMR-9 uses its own set of interfaces, structures, and enumerations, which are not always identical to the corresponding data types used with the VMR-7.
The VMR-9 supports up to 16 monitors.
Label | Value |
---|---|
Filter Interfaces | The VMR-9 supports several distinct rendering modes. It supports a different set of interfaces depending on the rendering mode:
|
Input Pin Media Types | The input pins will connect with any type supported by the underlying video hardware. |
Input Pin Interfaces | IAMVideoAccelerator, IMemInputPin, IOverlay, IQualityControl, IPin, IPinConnection, IVMRVideoStreamControl9 |
Output Pin Media Types | Not applicable. |
Output Pin Interfaces | Not applicable. |
Filter CLSID | CLSID_VideoMixingRenderer9 |
Property Page CLSID | N/A |
Executable | Quartz.dll |
Merit | MERIT_DO_NOT_USE |
Filter Category | CLSID_LegacyAmFilterCategory |
Remarks
An application can provide a custom allocator-presenter object that exposes the following interfaces:
- IVMRImagePresenter9
- IVMRImagePresenterConfig9 (optional)
- IVMRSurfaceAllocator9
- IVMRSurfaceAllocatorEx9 (optional)
- IVMRWindowlessControl9 (optional)
For more information about custom allocator-presenters, see Supplying a Custom Allocator-Presenter for VMR-9.
An application can also provide a custom plug-in compositor that exposes the following interface:
To configure the VMR with a custom compositor, call IVMRFilterConfig9::SetImageCompositor.
Related topics