Microsoft DirectX 9.0


This topic applies to Windows XP Service Pack 1 only.

The SetDeinterlaceMode method sets the deinterlacing mode for the specified video stream.


HRESULT SetDeinterlaceMode(
  DWORD  dwStreamID,
  GUID  *lpDeinterlaceMode,



[in]  Index of the video stream to set. To set all streams, use the value 0xFFFFFFFF.


[in]  Pointer to a GUID that specifies the deinterlacing mode. To turn off deinterlacing, use the value GUID_NULL.

Return Values

Returns an HRESULT value. Possible values include the following:

Return Code Description
E_INVALIDARG Invalid stream number.
E_POINTER NULL pointer argument.
S_OK Success.
VFW_E_VMR_NOT_IN_MIXER_MODE The VMR is not in mixer mode.


If the application does not specify the mode, the VMR defaults to the first mode reported by the driver. In either case, if the VMR cannot use the preferred mode, it falls back to another mode as specified in the IVMRDeinterlaceControl::SetDeinterlacePrefs method.

The SetDeinterlaceMode method is effective only for new connections made to the VMR. Some deinterlacing mode require that additional reference samples be available; the exact number depends on the mode. The VMR allocates surfaces for these additional samples. The client must set the deinterlace mode before the surfaces have been allocated. Surface allocation occurs after any of the following:

See Also