Microsoft DirectX 9.0


This topic applies to Windows XP Service Pack 1 only.

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


HRESULT GetNumberOfDeinterlaceModes(
  VMRVideoDesc*  lpVideoDescription,
  DWORD *lpdwNumDeinterlaceModes,
  GUID *lpDeinterlaceModes



[in]  Pointer to a VMRVideoDesc structure that describes the video.


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


[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 Values

Returns an HRESULT value. Possible values include the following:

Return Code Description
E_POINTER NULL pointer argument.
S_OK Success
VFW_E_VMR_NOT_IN_MIXER_MODE The VMR is not in mixer mode.
VFW_E_DDRAW_CAPS_NOT_SUITABLE 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_DeinterlaceBobDevice Bob 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.

See Also