IVMRDeinterlaceControl::GetNumberOfDeinterlaceModes 方法 (strmif.h)
[与此页面关联的功能 DirectShow 是旧版功能。 它已被 MediaPlayer、 IMFMediaEngine 和 Media Foundation 中的音频/视频捕获所取代。 这些功能已针对Windows 10和Windows 11进行了优化。 Microsoft 强烈建议新代码尽可能在 Media Foundation 中使用 MediaPlayer、 IMFMediaEngine 和 音频/视频捕获 ,而不是 DirectShow。 如果可能,Microsoft 建议重写使用旧 API 的现有代码以使用新 API。]
GetNumberOfDeinterlaceModes 方法检索 VMR 可用于指定视频格式的反隔行模式。
语法
HRESULT GetNumberOfDeinterlaceModes(
[in] VMRVideoDesc *lpVideoDescription,
[in, out] LPDWORD lpdwNumDeinterlaceModes,
[out] LPGUID lpDeinterlaceModes
);
参数
[in] lpVideoDescription
指向描述视频的 VMRVideoDesc 结构的指针。
[in, out] lpdwNumDeinterlaceModes
指向 DWORD 值的指针。 输入时,此值指定 lpDeinterlaceModes 中给定的数组的大小。 在输出时,它接收方法复制到数组中的 GUID 数。
[out] lpDeinterlaceModes
调用方分配的数组的地址。 方法使用 GUID 值填充数组。 若要确定所需的数组的大小,请将此参数设置为 NULL 并检查 lpdwNumDeinterlaceModes 中返回的值。
返回值
返回 HRESULT 值。 可能的值如下所示:
返回代码 | 说明 |
---|---|
|
NULL 指针参数。 |
|
成功 |
|
VMR 未处于混音器模式。 |
|
视频卡不支持硬件反交错。 |
备注
此方法返回 GUID 数组,其中每个 GUID 表示图形设备驱动程序在硬件中支持的去隔行模式。 数组按质量排序,因此第一个条目表示最佳质量,第二个条目表示下一个最佳质量,依此类推。
需要所有驱动程序才能支持以下模式:
GUID | 说明 |
---|---|
DXVA_DeinterlaceBobDevice | Bob 模式 |
驱动程序可以支持其他模式,并应定义自己的 GUID 来标识它们。 对于每个返回的模式,调用 IVMRDeinterlaceControl::GetDeinterlaceModeCaps 方法以获取有关该模式的信息。
要求
最低受支持的客户端 | 具有 SP1 的 Windows XP [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2003 [仅限桌面应用] |
目标平台 | Windows |
标头 | strmif.h (包括 Dshow.h) |
Library | Strmiids.lib |