IVMRDeinterlaceControl9 Interface

Microsoft DirectShow 9.0

IVMRDeinterlaceControl9 Interface

The IVMRDeinterlaceControl9 interface supports hardware-accelerated deinterlacing using the Video Mixing Renderer Filter 9 (VMR-9). This interface enables applications or other filters to control how the VMR manages DirectX Video Acceleration (DirectX VA) hardware deinterlacing.

In addition to the methods inherited from IUnknown, the IVMRDeinterlaceControl9 interface exposes the following methods.

Method Description
GetActualDeinterlaceMode Returns the deinterlacing mode that the VMR is using for a specified stream.
GetDeinterlaceMode Retrieves the deinterlacing mode for the specified video stream.
GetDeinterlaceModeCaps Retrieves the capabilities of a specific deinterlacing mode supported by the graphics device driver.
GetDeinterlacePrefs Queries how the VMR will select a deinterlacing mode if it cannot use the preferred mode.
GetNumberOfDeinterlaceModes Retrieves the deinterlacing modes available to the VMR for the specified video format.
SetDeinterlaceMode Sets the deinterlacing mode for the specified video stream.
SetDeinterlacePrefs Specifies how the VMR will select a deinterlacing mode if it cannot use the preferred mode.


Deinterlacing modes are identified by GUIDs. The graphics device driver returns an array of GUIDs for the modes that it supports. The array is sorted in order of quality, from best quality to lowest quality. To retrieve the list of GUIDs, call the GetNumberOfDeinterlaceModes method. To obtain more information about a particular mode, pass this GUID to the GetDeinterlaceModeCaps method. To configure the VMR to use a particular mode, call the SetDeinterlaceMode method.

To determine what de-interlacing modes are available, perform these steps:

1. Create the VMR and put it into mixing mode.

2. Get the IVMRDeinterlaceControl9 interface from the VMR.

3. Create a valid VMRVideoDesc variable that matches the type of video you want to de-interlace.

4. Call IVMRDeinterlaceControl9::GetNumberOfDeinterlaceModes to get the number of available de-interlacing modes.

5. For each mode returned, call IVMRDeinterlaceControl::GetDeinterlaceModeCaps to get information about each mode.


Header: Include D3d9.h, Vmr9.h.

Library: Use Strmiids.lib.

See Also