IMFVideoProcessor interface (evr9.h)
Controls video processing in the Enhanced Video Renderer (EVR). The operations controlled through this interface include color adjustment (ProcAmp), noise filters, and detail filters.
The EVR mixer implements this interface. To get a pointer to the interface, call IMFGetService::GetService. The service identifier is GUID MR_VIDEO_MIXER_SERVICE. Call GetService on any of the following objects:
- The media session (if the topology contains an instance of the EVR).
- The EVR media sink.
- The DirectShow EVR filter.
- The EVR mixer.
The IMFVideoProcessor interface inherits from the IUnknown interface. IMFVideoProcessor also has these types of members:
The IMFVideoProcessor interface has these methods.
Retrieves the video processor modes that the video driver supports.
Retrieves the background color for the composition rectangle. The background color is used for letterboxing the video image.
Retrieves the range of values for a specified image filter setting.
Retrieves the current setting for an image filter.
Retrieves the range of values for a color adjustment (ProcAmp) setting.
Retrieves the current settings for one or more color adjustment (ProcAmp) settings.
Retrieves the capabilities of a video processor mode.
Retrieves the application's preferred video processor mode. To set the preferred mode, call IMFVideoProcessor::SetVideoProcessorMode.
Sets the background color for the composition rectangle. The background color is used for letterboxing the video image.
Sets a parameter for an image filter.
Sets one or more color adjustment (ProcAmp) settings.
Sets the preferred video processor mode. The EVR will attempt to use this mode when playback starts.
This interface provides access to functionality that is implemented by the graphics driver. The driver provides one or more video processor modes, which are identified by GUID. Each mode has its own set of capabilities. The list of available modes might change depending on the media type of the video.
To use this interface, perform the following steps:
- Initialize the media types on the EVR input streams. (If you are using the Media Session, this occurs after the topology is resolved. Wait for the Media Session to send the MESessionTopologyStatus event with a status value of MF_TOPOSTATUS_READY.)
- Call IMFVideoProcessor::GetAvailableVideoProcessorModes to get the list of video processor modes that are available.
- Call IMFVideoProcessor::GetVideoProcessorCaps to find the capabilities of each video processor mode.
- Call IMFVideoProcessor::SetVideoProcessorMode to select a mode. If you skip this step, the EVR automatically selects a video processor mode when streaming begins. In that case, wait for playback to start before continuing to step 5.
- Call IMFVideoProcessor::GetProcAmpRange and IMFVideoProcessor::GetFilteringRange to find the range of values for the various ProcAmp and image filter settings.
- Call IMFVideoProcessor::SetProcAmpValues and IMFVideoProcessor::SetFilteringValue to change the ProcAmp and image filter settings.
|Minimum supported client||Windows Vista [desktop apps only]|
|Minimum supported server||Windows Server 2008 [desktop apps only]|