Video Mixing Renderer Filter 9
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.
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.|
|Property Page CLSID||N/A|
An application can provide a custom allocator-presenter object that exposes the following interfaces:
- IVMRImagePresenterConfig9 (optional)
- 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.