Ask Learn
Preview
Please sign in to use this experience.
Sign inThis browser is no longer supported.
Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support.
Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Microsoft DirectShow 9.0 |
This topic applies to Windows XP Service Pack 2 or later.
In Windows XP Service Pack 2, the VMR supports a mixing mode called YUV mixing mode. This mode is most useful for advanced TV or DVD applications. It trades some of the power of the VMR mixer for better performance on low end graphics hardware that uses a unified memory architecture design. YUV mixing mode is supported on both the VMR-7 and VMR-9.
Advantages
YUV mixing mode has several advantages relating to rendering performance over the original RGB mixing mode supported by the VMR:
Although any video application can use YUV mixing mode, it is primarily intended for two types of video playback application:
Restrictions
A number of restrictions are enforced by the VMR when it is put into YUV mixing mode:
Configuration
Applications must explicitly configure the VMR to take advantage of YUV mixing mode; the original RGB mixing mode remains the default mixing mode. To enable YUV mixing mode in the VMR-7, call IVMRMixerControl::SetMixingPrefs with the MixerPref_RenderTargetYUV flag. This call must be made before any of the VMR's input pins are connected. To enable YUV mixing mode in the VMR-9, call IVMRMixerControl9::SetMixingPrefs with the MixerPref9_RenderTargetYUV flag.
The only way to determine if the VMR-7 supports the new YUV mixing mode is to try setting the VMR into that mode. If the call succeeds, you can still put the VMR back into RGB mixing mode if necessary. After it is set into YUV mixing mode, the VMR can only be changed back to RGB mixing mode after all input pins have been disconnected.
In YUV mixing mode, you can reduce the load on the graphics processing unit (GPU) by applying the following flags in the SetMixingPrefs method:
Flag | Description |
VMR-7: MixerPref_DynamicSwitchToBOB
VMR-9: MixerPref9_DynamicSwitchToBOB |
Switch to bob deinterlacing. |
VMR-7: MixerPref_DynamicDecimateBy2
VMR-9: MixerPref_DynamicDecimateBy2 |
Decimate the image by a factor of 2 horizontally and vertically. |
You can add or remove these flags while the filter graph is running; the change is applied when the VMR mixer composes the next video frame. The flags are not mutually exclusive. These settings reduce the quality of the image, so typically you would apply them only when video quality is less important — for example, if video is playing in a small portion of the user interface.
See Also
Please sign in to use this experience.
Sign in