Microsoft DirectX 8.1 (C++)

Video Port Manager

This topic applies to Windows XP Home Edition and Windows XP Professional only.

The Video Port Manager filter (VPM) enables the Video Mixing Renderer to work seamlessly on systems where video data is transferred directly from a video capture device or hardware decoder to the graphics chip without going over the system bus. This direct hardware connection is called a video port.

The Video Port Manager combines the video port functionality of the Overlay Mixer Filter and the functionality of the VBI Surface Allocator. The VPM allocates video ports and surfaces, and synchronizes data capture from the video port. It allows video port-based capture that is independent of rendering. If preview is desired, the VPM coordinates with the Video Mixing Renderer to display captured video port data. When a video port is present on the system, the capture filter requires additional buffers to extract VBI data from the video stream. These buffers are provided by the VPM. Once the capture filter has extracted the VBI data, it delivers it on a separate pin to filters such as the CC Decoder. The following illustration shows the VPM and its connections in a filter graph.

Video Port Manager filter graph segment

The VPM is added to filter graphs automatically by the DVD Graph Builder or Capture Graph Builder when a video port is detected on the system. Once added to the graph, the VPM creates the video port, and uses a DirectDraw object provided by the Video Mixing Renderer to allocate two or three surfaces. These surfaces receive the digitized frames from the upstream capture filter. In response to user-mode event notifications sent when data is present in the surface, the VPM performs an automatic blit to an offscreen surface provided by the VMR.

The fact that the VPM uses multiple surfaces for its input buffers means that it requires more VRAM than the previous DirectShow video port implementation. The extra blit from the VPM to the VMR requires additional video memory bandwidth. And since hardware auto-flipping is not used any longer, there is a theoretical potential for dropped frames, but the empirical evidence suggests that this does not occur.

See Also

IVPManager