Share via


IMFVideoProcessor::GetAvailableVideoProcessorModes method (evr9.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.]

Retrieves the video processor modes that the video driver supports.

Syntax

HRESULT GetAvailableVideoProcessorModes(
  [in, out] UINT *lpdwNumProcessingModes,
  [out]     GUID **ppVideoProcessingModes
);

Parameters

[in, out] lpdwNumProcessingModes

Receives the number of video processor modes.

[out] ppVideoProcessingModes

Receives a pointer to an array of GUIDs. The number of elements in the array is returned in the lpdwNumProcessingModes parameter. The caller must release the memory for the array by calling CoTaskMemFree. This parameter can be NULL.

Return value

The method returns an HRESULT. Possible values include, but are not limited to, those in the following table.

Return code Description
S_OK
The method succeeded.
MF_E_TRANSFORM_TYPE_NOT_SET
The media type for the reference stream is not set.

Remarks

Video processor modes are identified by GUID. For a list of predefined GUIDs, see IDirectXVideoProcessorService::GetVideoProcessorDeviceGuids. A driver can define additional vendor-specific GUIDs. To get the capabilities of each mode, pass the GUID to the IMFVideoProcessor::GetVideoProcessorCaps method.

Before calling this method, you must set the media type for the reference stream. Which modes are available might depend on the media type of the reference stream.

Requirements

Requirement Value
Minimum supported client Windows Vista [desktop apps only]
Minimum supported server Windows Server 2008 [desktop apps only]
Target Platform Windows
Header evr9.h
Library Strmiids.lib

See also

Enhanced Video Renderer

IMFVideoProcessor