KSPROPERTY_CAMERACONTROL_EXTENDED_WHITEBALANCEMODE
白平衡模式属性指定是自动处理白平衡还是使用手动温度值。
使用情况摘要表
获取 | 设置 | 目标 | 属性描述符类型 | 属性值类型 |
---|---|---|---|---|
是 | 是 | 筛选器 | KSPROPERTY | KSCAMERA_EXTENDEDPROP_HEADER |
属性值(操作数据)包含 KSCAMERA_EXTENDEDPROP_HEADER 结构和 KSCAMERA_EXTENDEDPROP_VIDEOPROCSETTING 结构。
总属性数据大小为 sizeof (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_HEADER 的 Flags 成员包含当前为摄像头设置的视频处理标志。 KSCAMERA_EXTENDEDPROP_VIDEOPROCFLAG_AUTO 设置可与 KSCAMERA_EXTENDEDPROP_VIDEOPROCFLAG_LOCK 结合使用。
此属性控制是异步的且不可取消。
注解
处理模式
KSCAMERA_EXTENDEDPROP_VIDEOPROCFLAG_AUTO
这表示支持自动处理。 驱动程序将利用其内部逻辑来优化视频处理。 对于 KSPROPERTY_TYPE_GET 请求,KSCAMERA_EXTENDEDPROP_VIDEOPROCSETTING 的 VideoProc 成员必须包含驱动程序为视频处理确定的当前值。 如果是白平衡,则必须包含以开尔文为单位的当前温度。 自动操作时,Mode 成员将被忽略。
此标志可与 KSCAMERA_EXTENDEDPROP_VIDEOPROCFLAG_LOCK 结合使用,作为一个按位 OR 值。 锁定时,摄像头驱动程序的预期行为是聚合白平衡并将白平衡值锁定为聚合值,不再尝试自动白平衡,直到收到新的白平衡命令。
在不结合自动模式的情况下,摄像头驱动程序应将已锁定的控件视为无操作。 结合“自动”模式锁定一个已经锁定的控制器应该会触发新的收敛。
KSCAMERA_EXTENDEDPROP_VIDEOPROCFLAG_MANUAL
“手动”表示为该视频处理提供了具体数值。 就白平衡而言,如果 KSCAMERA_EXTENDEDPROP_VIDEOPROCSETTING 的 Mode 成员表示 KSCAMERA_EXTENDEDPROP_WHITEBALANCE_TEMPERATURE,则 VideoProc.Value.ul 将包含以开尔文度为单位的温度值。
KSCAMERA_EXTENDEDPROP_VIDEOPROCFLAG_LOCK 锁定选项标志表示当前视频处理被锁定为当前编程的任何值。 例如,应用程序可能会要求使用自动模式,直到确定了特定的白平衡,此时应用程序将决定使用相同的白平衡设置拍摄一系列照片。 在这种情况下,应用程序可以指定 KSCAMERA_EXTENDEDPROP_VIDEOPROCFLAG_LOCK 标志。 摄像头驱动程序将确保不同照片的白平衡信息不会发生变化。
获取属性
响应 KSPROPERTY_TYPE_GET 请求时,驱动程序会将 KSCAMERA_EXTENDEDPROP_HEADER 的成员设置为以下内容。
成员 | 值 |
---|---|
版本 | 1 |
PinId | KSCAMERA_EXTENDEDPROP_FILTERSCOPE (0xFFFFFFFF) |
大小 | sizeof(KSCAMERA_EXTENDEDPROP_HEADER) + sizeof(KSCAMERA_EXTENDEDPROP_VIDEOPROCSETTING) |
Result | 0 |
功能 | KSCAMERA_EXTENDEDPROP_CAPS_ASYNCCONTROL 或(支持的视频处理模式) |
标记 | 当前视频处理模式。 |
如果之前未设置白平衡模式,则驱动程序会将 Flags 设置为 KSCAMERA_EXTENDEDPROP_VIDEOPROCFLAG_AUTO(默认值)。 KSCAMERA_EXTENDEDPROP_HEADER 后面的 KSCAMERA_EXTENDEDPROP_VIDEOPROCSETTING 结构的成员根据处理模式的要求进行设置。
设置属性
设置该属性时,在 KSPROPERTY_TYPE_SET 请求中,KSCAMERA_EXTENDEDPROP_HEADER 的 Flags 成员将包含要设置的白平衡模式。 当 Flags 包含 KSCAMERA_EXTENDEDPROP_VIDEOPROCFLAG_AUTO 模式标志时,必须忽略 KSCAMERA_EXTENDEDPROP_VIDEOPROCSETTING 的 VideoProc.Value 成员。
要求
版本:从 Windows 8.1 开始提供
头文件:ksmedia.h(包括 Ksmedia.h)