Microsoft DirectX 8.0

Video Renderer Filter

The Video Renderer filter is a generic video renderer that you can connect to any video transform filter that produces decompressed video data.

The Video Renderer filter uses Microsoft® DirectDraw® methods, if the video card supports them. Full-screen rendering is enabled from the filter graph manager, which automatically switches between the Video Renderer and the Full Screen Renderer when appropriate for certain older graphics cards; you do not need to include the Full Screen Renderer in the filter graph beforehand. On newer cards the Video Renderer itself performs the full screen rendering.

The Video Renderer will accept YUV as well as RGB formats if the video graphics card supports YUV overlay surfaces. But it is important to note that the Video Renderer, when it is initially connected to the upstream filter, will always insist on an RGB format that matches the color depth of the current monitor settings. For example, if the user has set their monitor to 24-bit color, then the upstream filter must be capable of providing data in 24-bit RGB. When the graph goes into a run state, the Video Renderer will negotiate a dynamic format change to the appropriate YUV color space. The Video Renderer requires the initial RGB data format because in some cases it may need to dynamically switch to using GDI instead of DirectDraw to render the video; GDI does not support YUV color spaces. The Video Renderer will switch to GDI if the video memory is being used by another application, or if the video display rectangle straddles two monitors on a multi-monitor system, or if the video rectangle is completely obscured by another window on the screen.

This filter has its own plug-in distributor in the filter graph manager, which enables applications to set and retrieve properties on the filter by calling the corresponding interface methods on the filter graph manager. Most other Microsoft® DirectShow® filters are not visible to applications in this manner.

The thread that co-creates the Video Renderer is the one on which the Video Renderer's window is created. That thread must have a message loop to dispatch messages to the Video Renderer's window.

Filter Interfaces IBaseFilter, IBasicVideo, IBasicVideo2, IDirectDrawVideo, IKsPropertySet, IMediaPosition, IMediaSeeking, IQualityControl, IQualProp, IVideoWindow
Input Pin Media Types MEDIATYPE_Video
Input Pin Interfaces IMemInputPin, IOverlay, IPin, IPinConnection, IQualityControl
Output Pin Media Types Not applicable.
Output Pin Interfaces Not applicable.
Filter CLSID CLSID_VideoRenderer
Property Page CLSID No property page.
Executable quartz.dll
Merit MERIT_PREFERRED
Category CLSID_LegacyAmFilterCategory