|Microsoft DirectX 9.0|
Important The optimizations described in this section are highly dependent on the underlying hardware. Unless you can guarantee what type of graphics hardware will be used with the application, by setting these flags you run the risk of seriously degrading the appearance of the rendered video image.
HDTV requires a lot of processing power, which on newer systems is provided mostly by the graphics card. But even if the graphics card and the decoder can support resolutions of 1920x1080, the user may not always have their monitor set to this resolution. In this case, the graphics chip is required to create a 1920x1080 image, and then reduce the resolution before sending it to the frame buffer.
Since this is a waste of processing power, the VMR provides a way to decimate (reduce) the image at the time it is being rendered onto the DirectDraw surface. This eliminates the extra memory copy required if the image has to be resized after it has been rendered. The method that provides this optimization is IVMRMixerControl::SetMixingPrefs, which must be called before the VMR is connected. The mixing preference flags cannot be changed once the graph is running. SetMixingPrefs can also be used to configure the filtering type and color space of the target surface.