Microsoft DirectX 8.1 (C++)

Upstream Connection with the Video Decoder

The Overlay Mixer's input pins typically connect to an upstream video decoder (or decoders if a separate decoder is handling the line 21 or DVD subpicture data). The incoming video data must always connect to the Overlay Mixer's Pin 0. The line 21 or subpicture data streams, whether they come from the same video decoder or not, connect on Pin 1 or greater. If the decoder is a software decoder that uses the host CPU exclusively, then the connection between the decoder and the Overlay Mixer's Pin 0 is a standard IMemInputPin interface connection. If the decoder uses hardware acceleration, then its connection to Pin 0 on the Overlay Mixer must be an IAMVideoAccelerator connection. These two types of connections are mutually exclusive.

Filters that wrap a hardware decoder and connect to the Overlay Mixer through a video port must implement IVPConfig. The Overlay Mixer implements the IVPNotify interface, which calls into IVPConfig on the decoder to set and retrieve various control information. This mechanism enables the decoder to specify information about the overlay surfaces it requires, and it enables the Overlay Mixer to inform the decoder of the location of those surfaces in the video memory. The Overlay Mixer is also responsible for ensuring that the video rectangle is scaled correctly. Video capture scenarios present certain issues with respect to scaling of the preview image and the capture of interleaved video frames. If you are developing a filter or WDM driver for a hardware video capture device, refer to the IVPConfig and IVPNotify reference pages for more information on these topics.

The Overlay Mixer is not used in 1394 or USB capture scenarios. It is used in video capture over the PCI bus.