Export (0) Print
Expand All

IMFVideoProcessor interface

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 sesson (if the topology contains an instance of the EVR).
  • The EVR media sink.
  • The DirectShow EVR filter.
  • The EVR mixer.

If you implement a custom mixer for the EVR, the mixer can optionally expose this interface as a service.

Members

The IMFVideoProcessor interface inherits from the IUnknown interface. IMFVideoProcessor also has these types of members:

Methods

The IMFVideoProcessor interface has these methods.

MethodDescription
GetAvailableVideoProcessorModes

Retrieves the video processor modes that the video driver supports.

GetBackgroundColor

Retrieves the background color that is used for the composition rectangle.

GetFilteringRange

Retrieves the range of values for a specified image filter setting.

GetFilteringValue

Retrieves the current setting for an image filter.

GetProcAmpRange

Retrieves the range of values for a ProcAmp setting.

GetProcAmpValues

Retrieves the current settings for one or more ProcAmp settings.

GetVideoProcessorCaps

Retrieves the capabilities of a video processor mode.

GetVideoProcessorMode

Retrieves the application's preferred video processor mode.

SetBackgroundColor

Sets the background color for the composition rectangle.

SetFilteringValue

Sets a parameter for an image filter.

SetProcAmpValues

Sets one or more ProcAmp settings.

SetVideoProcessorMode

Sets the preferred video processor mode.

 

Remarks

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:

  1. 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.)

  2. Call IMFVideoProcessor::GetAvailableVideoProcessorModes to get the list of video processor modes that are available.

  3. Call IMFVideoProcessor::GetVideoProcessorCaps to find the capabilities of each video processor mode.

  4. 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.

  5. Call IMFVideoProcessor::GetProcAmpRange and IMFVideoProcessor::GetFilteringRange to find the range of values for the various ProcAmp and image filter settings.

  6. Call IMFVideoProcessor::SetProcAmpValues and IMFVideoProcessor::SetFilteringValue to change the ProcAmp and image filter settings.

Requirements

Minimum supported client

Windows Vista [desktop apps only]

Minimum supported server

Windows Server 2008 [desktop apps only]

Header

Evr9.h

Library

Strmiids.lib

See also

Media Foundation Interfaces
Enhanced Video Renderer

 

 

Community Additions

ADD
Show:
© 2014 Microsoft