IVMRDeinterlaceControl::GetNumberOfDeinterlaceModes method

The GetNumberOfDeinterlaceModes method retrieves the deinterlacing modes available to the VMR for the specified video format.


HRESULT GetNumberOfDeinterlaceModes(
  [in]      VMRVideoDesc *lpVideoDescription,
  [in, out] DWORD        *lpdwNumDeinterlaceModes,
  [out]     GUID         *lpDeinterlaceModes


lpVideoDescription [in]

Pointer to a VMRVideoDesc structure that describes the video.

lpdwNumDeinterlaceModes [in, out]

Pointer to a DWORD value. On input, this value specifies the size of the array given in lpDeinterlaceModes. On output, it receives number of GUIDs the method copied into the array.

lpDeinterlaceModes [out]

Address of an array allocated by caller. The method fills the array with GUID values. To determine the size of the array that is needed, set this parameter to NULL and check the value returned in lpdwNumDeinterlaceModes.

Return value

Returns an HRESULT value. Possible values include the following:

Return codeDescription

NULL pointer argument.




The VMR is not in mixer mode.


The video card does not support hardware deinterlacing.



This method returns an array of GUIDs, where each GUID represents a deinterlacing mode that is supported in hardware by the graphics device driver. The array is sorted by quality, so the first entry represents the best quality, the second entry represents the next best quality, and so forth.

All drivers are required to support the following mode:

GUID Description
DXVA_DeinterlaceBobDeviceBob mode


Drivers can support additional modes and should define their own GUIDs to identify them. For each returned mode, call the IVMRDeinterlaceControl::GetDeinterlaceModeCaps method to get information about that mode.


Minimum supported client

Windows XP with SP1 [desktop apps only]

Minimum supported server

Windows Server 2003 [desktop apps only]


Strmif.h (include Dshow.h)



See also

Error and Success Codes
Using the Video Mixing Renderer
IVMRDeinterlaceControl Interface