IVMRDeinterlaceControl9::SetDeinterlaceMode method (vmr9.h)
[The feature associated with this page, DirectShow, is a legacy feature. It has been superseded by MediaPlayer, IMFMediaEngine, and Audio/Video Capture in Media Foundation. Those features have been optimized for Windows 10 and Windows 11. Microsoft strongly recommends that new code use MediaPlayer, IMFMediaEngine and Audio/Video Capture in Media Foundation instead of DirectShow, when possible. Microsoft suggests that existing code that uses the legacy APIs be rewritten to use the new APIs if possible.]
The SetDeinterlaceMode method sets the deinterlacing mode for the specified video stream.
Syntax
HRESULT SetDeinterlaceMode(
[in] DWORD dwStreamID,
[in] LPGUID lpDeinterlaceMode
);
Parameters
[in] dwStreamID
Index of the video stream to set. To set all streams, use the value 0xFFFFFFFF.
[in] lpDeinterlaceMode
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 code | Description |
---|---|
|
Invalid stream number. |
|
NULL pointer argument. |
|
Success. |
|
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 IVMRDeinterlaceControl9::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:
- Pin connections, including dynamic reconnections
- Dynamic format changes (the upstream filter calls IPin::ReceiveConnection to specify a new format)
- Resolution changes
- Monitor changes
Requirements
Requirement | Value |
---|---|
Minimum supported client | Windows XP with SP2 [desktop apps only] |
Minimum supported server | Windows Server 2003 R2 [desktop apps only] |
Target Platform | Windows |
Header | vmr9.h |
Library | Strmiids.lib |
See also
IVMRDeinterlaceControl9 Interface
Setting Deinterlace Preferences