MFVideoMixPrefs enumeration (evr.h)

Contains flags that are used to configure how the enhanced video renderer (EVR) performs deinterlacing.

Syntax

typedef enum _MFVideoMixPrefs {
  MFVideoMixPrefs_ForceHalfInterlace = 0x1,
  MFVideoMixPrefs_AllowDropToHalfInterlace = 0x2,
  MFVideoMixPrefs_AllowDropToBob = 0x4,
  MFVideoMixPrefs_ForceBob = 0x8,
  MFVideoMixPrefs_EnableRotation = 0x10,
  MFVideoMixPrefs_Mask = 0x1f
} MFVideoMixPrefs;

Constants

 
MFVideoMixPrefs_ForceHalfInterlace
Value: 0x1
Force the EVR to skip the second field (in temporal order) of every interlaced frame.
MFVideoMixPrefs_AllowDropToHalfInterlace
Value: 0x2
If the EVR is falling behind, allow it to skip the second field (in temporal order) of every interlaced frame.
MFVideoMixPrefs_AllowDropToBob
Value: 0x4
If the EVR is falling behind, allow it to use bob deinterlacing, even if the driver supports a higher-quality deinterlacing mode.
MFVideoMixPrefs_ForceBob
Value: 0x8
Force the EVR to use bob deinterlacing, even if the driver supports a higher-quality mode.
MFVideoMixPrefs_EnableRotation
Value: 0x10
MFVideoMixPrefs_Mask
Value: 0x1f
The bitmask of valid flag values. This constant is not itself a valid flag.

Remarks

To set these flags, call the IMFVideoMixerControl2::SetMixingPrefs method.

These flags control some trade-offs between video quality and rendering speed. The constants named "MFVideoMixPrefs_Allow..." enable lower-quality settings, but only when the quality manager requests a drop in quality. The constants named "MFVideoMixPrefs_Force..." force the EVR to use lower-quality settings regardless of what the quality manager requests. (For more information about the quality manager, see IMFQualityAdvise.)

Currently two lower-quality modes are supported, as described in the following table. Either is preferable to dropping an entire frame.

Mode Description
Half interface The EVR's video mixer skips the second field (relative to temporal order) of each interlaced frame. The video mixer still deinterlaces the first field, and this operation typically interpolates data from the second field. The overall frame rate is unaffected.
Bob deinterlacing The video mixer uses bob deinterlacing, even if the driver supports a higher-quality deinterlacing algorithm.

Requirements

   
Minimum supported client Windows 7 [desktop apps only]
Minimum supported server Windows Server 2008 R2 [desktop apps only]
Header evr.h

See also

Media Foundation Enumerations