Enhanced Video Renderer Filter
The Enhanced Video Renderer (EVR) filter is a 16-channel video mixer and renderer. It has the same core functionality and plug-in model as the Media Foundation EVR media sink.
The DirectShow EVR filter is documented in the Media Foundation SDK documentation; for more information, see Enhanced Video Renderer.
| Filter Interfaces (through QueryInterface) | DirectShow interfaces:
Media Foundation interfaces: |
| Input Pin Media Types | Variable, depending on the graphics driver. |
| Input Pin Interfaces (through QueryInterface) | DirectShow interfaces:
Media Foundation interfaces: |
| Output Pin Media Types | Not applicable. |
| Output Pin Interfaces | Not applicable. |
| Filter CLSID | CLSID_EnhancedVideoRenderer |
| Executable | evr.dll |
| Merit | MERIT_DO_NOT_USE |
| Filter Category | CLSID_LegacyAmFilterCategory |
Remarks
In addition to the interfaces exposed through QueryInterface, the EVR exposes other interfaces through the IMFGetService::GetService method. Some of these interfaces are implemented by the EVR presenter or the EVR mixer, rather than the EVR itself. If the application sets a custom presenter or mixer on the EVR, the custom versions might expose a different set of interfaces.
| Object | Service Identifier | Interfaces |
|---|---|---|
| EVR filter | MR_VIDEO_RENDER_SERVICE (Queries EVR or presenter) | |
| EVR filter | MR_VIDEO_ACCELERATION_SERVICE (Queries presenter) | IDirect3DDeviceManager9 |
| EVR filter | MR_VIDEO_MIXER_SERVICE (Queries mixer) | |
| Input pins | MR_VIDEO_ACCELERATION_SERVICE | IDirectXVideoMemoryConfiguration |
The EVR can mix up to 16 video streams. The first input stream (pin 0) is called the reference stream. The reference stream always appears first in the z-order. Any additional streams are called substreams, and are mixed on top of the reference stream. The application can change the z-order of the substreams, but no substream can be first in the z-order.
The graphics driver determines which video formats are supported, but typically they are limited to the following:
- Reference stream: Progressive or interlaced YUV with no per-pixel alpha (such as NV12 or YUY2); or progressive RGB.
- Substreams: Progressive YUV with per-pixel-alpha, such as AYUV or AI44.
The available substream formats might depend on the format of the reference stream.
The EVR forwards seek commands upstream through pin 0. The substream pins do not forward seek commands. It is the responsibility of the source or splitter filter to keep the substreams synchronized with the reference stream.
Requirements
|
Minimum supported client |
Windows Vista [desktop apps only] |
|---|---|
|
Minimum supported server |
Windows Server 2008 [desktop apps only] |
See also