IVMRDeinterlaceControl::SetDeinterlaceMode 方法 (strmif.h)
[与此页面关联的功能 DirectShow 是旧版功能。 它已被 MediaPlayer、 IMFMediaEngine 和 Media Foundation 中的音频/视频捕获所取代。 这些功能已针对Windows 10和Windows 11进行了优化。 Microsoft 强烈建议新代码尽可能在 Media Foundation 中使用 MediaPlayer、 IMFMediaEngine 和 音频/视频捕获 ,而不是 DirectShow。 如果可能,Microsoft 建议重写使用旧 API 的现有代码以使用新 API。]
SetDeinterlaceMode 方法为指定的视频流设置去隔行模式。
语法
HRESULT SetDeinterlaceMode(
[in] DWORD dwStreamID,
[in] LPGUID lpDeinterlaceMode
);
参数
[in] dwStreamID
要设置的视频流的索引。 若要设置所有流,请使用值0xFFFFFFFF。
[in] lpDeinterlaceMode
指向指定去隔行模式的 GUID 的指针。 若要关闭反交错,请使用 值GUID_NULL。
返回值
返回 HRESULT 值。 可能的值如下所示:
返回代码 | 说明 |
---|---|
|
流号无效。 |
|
NULL 指针参数。 |
|
成功。 |
|
VMR 未处于混音器模式。 |
备注
如果应用程序未指定模式,则 VMR 默认为驱动程序报告的第一种模式。 在任一情况下,如果 VMR 无法使用首选模式,它将回退到 IVMRDeinterlaceControl::SetDeinterlacePrefs 方法中指定的另一种模式。
SetDeinterlaceMode 方法仅适用于与 VMR 建立的新连接。 某些去隔行模式需要其他参考示例;确切数字取决于模式。 VMR 为这些附加示例分配图面。 客户端必须在分配图面之前设置去隔行模式。 在发生以下任一情况后,将进行 Surface 分配:
- 固定连接,包括动态重新连接
- 动态格式更改 (上游筛选器调用 IPin::ReceiveConnection 以指定新格式)
- 解决方法更改
- 监视更改
要求
最低受支持的客户端 | 具有 SP1 的 Windows XP [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2003 [仅限桌面应用] |
目标平台 | Windows |
标头 | strmif.h (包括 Dshow.h) |
Library | Strmiids.lib |