Export (0) Print
Expand All

IVMRDeinterlaceControl::SetDeinterlaceMode method

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

Syntax


HRESULT SetDeinterlaceMode(
  [in]  DWORD dwStreamID,
  [in]  GUID *lpDeinterlaceMode
);

Parameters

dwStreamID [in]

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

lpDeinterlaceMode [in]

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

Return value

Returns an HRESULT value. Possible values include the following:

Return codeDescription
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.

 

Remarks

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 modes require additional reference samples; 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:

  • Pin connections, including dynamic reconnections
  • Dynamic format changes (the upstream filter calls IPin::ReceiveConnection to specify a new format)
  • Resolution changes
  • Monitor changes

Requirements

Minimum supported client

Windows XP with SP1 [desktop apps only]

Minimum supported server

Windows Server 2003 [desktop apps only]

Header

Strmif.h (include Dshow.h)

Library

Strmiids.lib

See also

Error and Success Codes
Using the Video Mixing Renderer
IVMRDeinterlaceControl Interface
IVMRDeinterlaceControl::GetDeinterlaceMode

 

 

Community Additions

ADD
Show:
© 2014 Microsoft