KSPROPERTY_CAMERACONTROL_EXTENDED_FOCUSMODE
焦点模式属性控制相机的自动、手动和预设对焦模式。
使用情况摘要表
Get | Set | 目标 | 属性描述符类型 | 属性值类型 |
---|---|---|---|---|
是 |
是 |
筛选器 |
操作数据 (属性值) 包含 KSCAMERA_EXTENDEDPROP_HEADER 结构和 KSCAMERA_EXTENDEDPROP_VIDEOPROCSETTING 结构。
属性数据的总大小为 size 为 (KSCAMERA_EXTENDEDPROP_HEADER) + sizeof (KSCAMERA_EXTENDEDPROP_VIDEOPROCSETTING) 。 KSCAMERA_EXTENDEDPROP_HEADER 的 Size 成员设置为此总属性数据大小。
KSCAMERA_EXTENDEDPROP_HEADER 的 Capability 成员包含以下一个或多个视频处理选项的按位 OR 组合。
处理和焦点模式 | 说明 |
---|---|
KSCAMERA_EXTENDEDPROP_VIDEOPROCFLAG_AUTO | 相机驱动程序使用自己的视频处理逻辑。 |
KSCAMERA_EXTENDEDPROP_VIDEOPROCFLAG_MANUAL | 相机驱动程序使用预设处理方法或基于温度的方法。 |
KSCAMERA_EXTENDEDPROP_VIDEOPROCFLAG_LOCK | 当前视频处理方法已锁定。 |
KSCAMERA_EXTENDEDPROP_FOCUS_CONTINUOUS | 未设置聚合焦点。 |
KSCAMERA_EXTENDEDPROP_FOCUS_RANGE_MACRO | 宏范围焦点收敛。 |
KSCAMERA_EXTENDEDPROP_FOCUS_RANGE_NORMAL | 正常范围焦点收敛。 |
KSCAMERA_EXTENDEDPROP_FOCUS_RANGE_FULLRANGE | 全范围焦点收敛。 |
KSCAMERA_EXTENDEDPROP_FOCUS_RANGE_INFINITY | 无限范围焦点收敛。 |
KSCAMERA_EXTENDEDPROP_FOCUS_RANGE_HYPERFOCAL | 超焦范围。 |
KSCAMERA_EXTENDEDPROP_HEADER 的 Flags 成员包含当前为相机设置的视频处理标志。 如果KSCAMERA_EXTENDEDPROP_VIDEOPROCFLAG_AUTO设置可与 KSCAMERA_EXTENDEDPROP_VIDEOPROCFLAG_LOCK 结合使用。
此属性控件是异步的且可取消的。
注解
处理模式
KSCAMERA_EXTENDEDPROP_VIDEOPROCFLAG_AUTO
此标志指示在触发完成事件时自动对焦操作已聚合。 完成后,当此标志不与KSCAMERA_EXTENDEDPROP_VIDEOPROCFLAG_LOCK组合时,焦点可能会偏离,相机驱动程序可能会继续尝试收敛。 如果包含KSCAMERA_EXTENDEDPROP_VIDEOPROCFLAG_LOCK标志,则焦点将锁定到第一次收敛,在收到新的焦点命令之前不会更改。
锁定,如果不组合自动模式,相机驱动程序应将已锁定的控件视为无操作。 锁定与自动模式结合使用时,已锁定的控件应触发新的收敛。
此标志与 KSCAMERA_EXTENDEDPROP_VIDEOPROCFLAG_MANUAL 和 KSCAMERA_EXTENDEDPROP_FOCUS_CONTINUOUS 标志互斥。
KSCAMERA_EXTENDEDPROP_VIDEOPROCFLAG_MANUAL
手册指示为此视频处理提供特定值。 特定值提供给驱动程序。
此标志不得与KSCAMERA_EXTENDEDPROP_VIDEOPROCFLAG_AUTO、KSCAMERA_EXTENDEDPROP_VIDEOPROCFLAG_LOCK或KSCAMERA_EXTENDEDPROP_FOCUS_CONTINUOUS结合使用。
KSCAMERA_EXTENDEDPROP_VIDEOPROCFLAG_LOCK
如果设置此标志时没有相应的KSCAMERA_EXTENDEDPROP_VIDEOPROCFLAG_AUTO标志,则相机驱动程序应锁定当前焦点状态,并在焦点锁定后触发完成事件。 在收到新的对焦命令之前,相机驱动程序不得更改焦点状态。 如果KSCAMERA_EXTENDEDPROP_VIDEOPROCFLAG_AUTO组合此标志,相机驱动程序将在自动对焦时聚合,并将焦点锁定到该聚合点,然后触发完成事件。 此标志不得与KSCAMERA_EXTENDEDPROP_FOCUS_CONTINUOUS或KSCAMERA_EXTENDEDPROP_VIDEOPROCFLAG_MANUAL组合使用。
除非它与KSCAMERA_EXTENDEDPROP_VIDEOPROCFLAG_AUTO结合使用,否则不能使用焦点控件的范围标志指定此标志。 在这种情况下,使用范围标志执行焦点,以确定尝试自动对焦扫描的位置。 然后,在收敛后,焦点设置锁定并触发完成事件。
KSCAMERA_EXTENDEDPROP_FOCUS_CONTINUOUS
此标志指示焦点是连续的。 在这种情况下,焦点控制没有单个收敛点。 驱动程序必须接受此请求并立即完成异步操作。
此标志不得与KSCAMERA_EXTENDEDPROP_VIDEOPROCFLAG_AUTO、KSCAMERA_EXTENDEDPROP_VIDEOPROCFLAG_LOCK或KSCAMERA_EXTENDEDPROP_VIDEOPROCFLAG_MANUAL结合使用。
所有驱动程序都需要此模式。
KSCAMERA_EXTENDEDPROP_FOCUS_RANGE_MACRO
此标志指示应对宏区域执行焦点收敛。 确切的焦点范围由驱动程序确定。 此标志可与 KSCAMERA_EXTENDEDPROP_VIDEOPROCFLAG_AUTO 和 KSCAMERA_EXTENDEDPROP_FOCUS_CONTINUOUS 结合使用。
KSCAMERA_EXTENDEDPROP_FOCUS_RANGE_NORMAL
此标志指示应对正常范围执行焦点收敛。 确切的焦点范围由驱动程序确定。 此标志可与 KSCAMERA_EXTENDEDPROP_VIDEOPROCFLAG_AUTO 和 KSCAMERA_EXTENDEDPROP_FOCUS_CONTINUOUS 结合使用。
KSCAMERA_EXTENDEDPROP_FOCUS_RANGE_FULLRANGE
此标志指示应针对整个范围执行焦点收敛。 确切的焦点范围由驱动程序确定。 此标志可与 KSCAMERA_EXTENDEDPROP_VIDEOPROCFLAG_AUTO 和 KSCAMERA_EXTENDEDPROP_FOCUS_CONTINUOUS 结合使用。
所有驱动程序都需要此模式。
KSCAMERA_EXTENDEDPROP_FOCUS_RANGE_INFINITY
此标志指示应对无限范围执行焦点收敛。 确切的焦点范围由驱动程序确定。 此标志可与 KSCAMERA_EXTENDEDPROP_VIDEOPROCFLAG_AUTO 和 KSCAMERA_EXTENDEDPROP_FOCUS_CONTINUOUS 结合使用。
KSCAMERA_EXTENDEDPROP_FOCUS_RANGE_HYPERFOCAL
此标志指示应对超焦点范围执行焦点收敛。 确切的焦点范围由驱动程序确定。 此标志可与 KSCAMERA_EXTENDEDPROP_VIDEOPROCFLAG_AUTO 和 KSCAMERA_EXTENDEDPROP_FOCUS_CONTINUOUS 结合使用。
获取 属性
响应KSPROPERTY_TYPE_GET请求时,驱动程序会将 KSCAMERA_EXTENDEDPROP_HEADER 的成员设置为以下内容。
成员 | Value |
---|---|
版本 | 1 |
PinId | KSCAMERA_EXTENDEDPROP_FILTERSCOPE (0xFFFFFFFF) 。 |
大小 | sizeof (KSCAMERA_EXTENDEDPROP_HEADER) + sizeof (KSCAMERA_EXTENDEDPROP_VIDEOPROCSETTING) |
结果 | 0 |
功能 | KSCAMERA_EXTENDEDPROP_CAPS_ASYNCCONTROL |KSCAMERA_EXTENDEDPROP_CAPS_CANCELLABLE | ) 支持 (视频处理和焦点模式 |
Flags | 当前视频处理和焦点模式。 |
如果以前未设置焦点范围标志,驱动程序会将 Flags 设置为KSCAMERA_EXTENDEDPROP_FOCUS_RANGE_FULLRANGE,同时KSCAMERA_EXTENDEDPROP_VIDEOPROCFLAG_AUTO (默认) 。 KSCAMERA_EXTENDEDPROP_HEADER后面的KSCAMERA_EXTENDEDPROP_VIDEOPROCSETTING结构的成员是根据焦点模式的要求设置的。
当模式KSCAMERA_EXTENDEDPROP_VIDEOPROCFLAG_AUTO时, VideoProp.Value.ull 值必须包含当前曝光设置。
设置属性
设置 属性时,KSPROPERTY_TYPE_SET请求,KSCAMERA_EXTENDEDPROP_HEADER的 Flags 成员将包含要设置的焦点模式。 当 Flags 包含 KSCAMERA_EXTENDEDPROP_VIDEOPROCFLAG_AUTO、KSCAMERA_EXTENDEDPROP_VIDEOPROCFLAG_LOCK KSCAMERA_EXTENDEDPROP_FOCUS_CONTINUOUS 标志时,必须忽略 KSCAMERA_EXTENDEDPROP_VIDEOPROCSETTING 的 VideoProc.Value 成员。
要求
版本 |
从Windows 8.1开始可用。 |
标头 |
Ksmedia.h (包括 Ksmedia.h) |