MFVideoRenderPrefs enumeration (evr.h)
[The component described on this page, Enhanced Video Renderer, is a legacy feature. It has been superseded by the Simple Video Renderer (SVR) exposed through the MediaPlayer and IMFMediaEngine components. To play video content you should send data into one of these components and allow them to instantiate the new video renderer. These components have been optimized for Windows 10 and Windows 11. Microsoft strongly recommends that new code use MediaPlayer or the lower level IMFMediaEngine APIs to play video media in Windows instead of the EVR, when possible. Microsoft suggests that existing code that uses the legacy APIs be rewritten to use the new APIs if possible.]
Contains flags that define how the enhanced video renderer (EVR) displays the video.
Syntax
typedef enum MFVideoRenderPrefs {
MFVideoRenderPrefs_DoNotRenderBorder = 0x1,
MFVideoRenderPrefs_DoNotClipToDevice = 0x2,
MFVideoRenderPrefs_AllowOutputThrottling = 0x4,
MFVideoRenderPrefs_ForceOutputThrottling = 0x8,
MFVideoRenderPrefs_ForceBatching = 0x10,
MFVideoRenderPrefs_AllowBatching = 0x20,
MFVideoRenderPrefs_ForceScaling = 0x40,
MFVideoRenderPrefs_AllowScaling = 0x80,
MFVideoRenderPrefs_DoNotRepaintOnStop = 0x100,
MFVideoRenderPrefs_Mask = 0x1ff
} ;
Constants
MFVideoRenderPrefs_DoNotRenderBorder Value: 0x1 If this flag is set, the EVR does not draw the border color. By default, the EVR draws a border on areas of the destination rectangle that have no video. See IMFVideoDisplayControl::SetBorderColor. |
MFVideoRenderPrefs_DoNotClipToDevice Value: 0x2 If this flag is set, the EVR does not clip the video when the video window straddles two monitors. By default, if the video window straddles two monitors, the EVR clips the video to the monitor that contains the largest area of video. |
MFVideoRenderPrefs_AllowOutputThrottling Value: 0x4 Note Requires Windows 7 or later. Allow the EVR to limit its output to match GPU bandwidth. |
MFVideoRenderPrefs_ForceOutputThrottling Value: 0x8 Note Requires Windows 7 or later. Force the EVR to limit its output to match GPU bandwidth. |
MFVideoRenderPrefs_ForceBatching Value: 0x10 Note Requires Windows 7 or later. Force the EVR to batch Direct3D Present calls. This optimization enables the system to enter to idle states more frequently, which can reduce power consumption. |
MFVideoRenderPrefs_AllowBatching Value: 0x20 Note Requires Windows 7 or later. Allow the EVR to batch Direct3D Present calls. |
MFVideoRenderPrefs_ForceScaling Value: 0x40 Note Requires Windows 7 or later. Force the EVR to mix the video inside a rectangle that is smaller than the output rectangle. The EVR will then scale the result to the correct output size. The effective resolution will be lower if this setting is applied. |
MFVideoRenderPrefs_AllowScaling Value: 0x80 Note Requires Windows 7 or later. Allow the EVR to mix the video inside a rectangle that is smaller than the output rectangle. |
MFVideoRenderPrefs_DoNotRepaintOnStop Value: 0x100 Note Requires Windows 7 or later. Prevent the EVR from repainting the video window after a stop command. By default, the EVR repaints the video window black after a stop command. |
MFVideoRenderPrefs_Mask Value: 0x1ff Bitmask to validate flag values. This value is not a valid flag. |
Remarks
To set these flags, call IMFVideoDisplayControl::SetRenderingPrefs.
The flags named "MFVideoRenderPrefs_Allow..." cause the EVR to use lower-quality settings only when requested by the quality manager. (For more information, see IMFQualityAdvise.) The flags named "MFVideoRenderPrefs_Force..." cause the video mixer to use lower-quality settings regardless of the quality manager.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Windows Vista [desktop apps only] |
Minimum supported server | Windows Server 2008 [desktop apps only] |
Header | evr.h |