使用无线电调谐器的视频捕获设备
Microsoft Windows XP 及更高版本以及 Microsoft DirectX 8.1 及更高版本为包含 FM 无线电调谐器的视频捕获设备提供支持。
具有 FM 调谐器的设备的视频捕获微型驱动程序应支持 KSPROPERTY_TUNER_STATUS 属性。 这将允许用户模式客户端检索描述优化操作进度 的KSPROPERTY_TUNER_STATUS_S 结构。
微型驱动程序可以支持以下三种优化策略之一:
按 PLL 偏移量优化。
如果 FM 调谐器硬件支持通过 PLL 偏移进行优化,则微型驱动程序应将KSPROPERTY_TUNER_MODE_CAPS_S结构的策略成员设置为KS_TUNER_STRATEGY_PLL。
如果 FM 调谐器硬件不提供 PLL 支持,微型驱动程序应使用本机信号强度指示器来模拟 PLL 支持。 仅当微型驱动程序指定支持KS_TUNER_STRATEGY_PLL策略时,才会启用 KsTvTune.ax 中系统提供的 FM 优化逻辑。
按信号强度进行优化。
如果微型驱动程序将 KSPROPERTY_TUNER_MODE_CAPS_S 结构的 Strategy 成员设置为KS_TUNER_STRATEGY_SIGNAL_STRENGTH, KsTvTune.ax 仍会尝试使用KSPROPERTY_TUNER_STATUS_S结构的 PLLOffset 成员。 因此,这不是将来兼容性的有效选项。
此外,微型驱动程序应将KSPROPERTY_TUNER_STATUS_S结构的 SignalStrength 成员设置为 -1、0 或 1,具体取决于当前是否选择了可接受的频率。 供应商决定哪些接收器信号强度指示器 (RSSI) 或分贝毫伏特 (dBmV) 高于或低于基线电压的水平构成 FM 接收可接受的信号。
微型驱动程序手动执行的优化。
将 KSPROPERTY_TUNER_MODE_CAPS_S 结构的策略成员设置为KS_TUNER_STRATEGY_DRIVER_TUNES来控制微型驱动程序中的优化逻辑。
在 FM 模式下,KsTvTune.ax 使用 KSPROPERTY_TUNER_MODE_CAPS_S 结构的微型驱动程序指定的 TuningGranularity 成员作为步长大小,绕) 两侧 100 kHz 的频率 (200 kHz 带。 当 KsTvTune.ax 搜索整个 200 kHz 频带时,或微型驱动程序确定已找到良好信号时,搜索将停止,以先出现者为准。
如果微型驱动程序始终将 PLLOffset 值指定为 -1 或 1,则优化所需的时间要长得多。 在这种情况下, KsTvTune.ax 中的优化逻辑会重试重叠的频率范围。 微型驱动程序应仅在第一个优化请求上指定 PLLOffset 为 -1 或 1,或者当调谐器在最佳信号的八个步骤内时。 有关优化请求的详细信息,请参阅 识别第一个优化请求。
优化过程始终按照应用程序的要求以中心频率开始,并且不会高于中心 100 kHz。 但是,如果 PLLOffset 变为 1 接近 100 kHz 上限,则优化逻辑将超过 100 kHz 带。
如果优化过程在上限范围内找不到可接受的信号,它会尝试低于中心频率,从不低于中心频率 100 kHz 向上升级,如果仍然找不到可接受的信号,则以中心频率结束。 同样,如果 PLLOffset 在中心频率附近变为 1,则优化会超出中心频率,然后才最终返回到中心频率。
第一个优化请求上的 PLLOffset 成员值 -1 或 1 会导致 KsTvTune.ax 进入微调模式。 微调模式包括按照 PLLOffset 所指示的方向,按KSPROPERTY_TUNER_MODE_CAPS_S结构的 TuningGranularity 成员指定的步长间隔快速连续优化请求。
KsTvTune.ax 在增加或降低频率的 8 个微调步骤后,如果失败,则停止其优化尝试。 KsTvTune.ax 处于微调模式后,如果 PLLOffset 将方向从 -1 更改为 1、1 更改为 -1 或变为 0,则认为优化请求成功。 通过 200 kHz 频带的微调和搜索都停止了。
但是,如果 PLLOffset 大于 1 或小于 -1,则微调不会启动或放弃。 微调模式独立于围绕中心频率的 200 kHz 波段进行搜索,尽管两者都使用 TuningGranularity (因此,在) 始终返回 PLLOffset 为 -1..1 的警告。