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 lock 选项标志指示当前视频处理已锁定为当前编程的任何值。 例如,应用程序可能会请求自动模式,直到确定特定的白平衡,此时应用程序将决定拍摄一系列具有相同白平衡设置的照片。 在这种情况下,应用程序可以指定 KSCAMERA_EXTENDEDPROP_VIDEOPROCFLAG_LOCK 标志。 相机驱动程序将确保白平衡信息不会在不同照片中发生更改。
获取 属性
响应 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支持 (视频处理模式) |
Flags | 当前视频处理模式。 |
如果以前未设置白平衡模式,驱动程序会将 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)
另请参阅
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈