KSPROPERTY_CAMERACONTROL_EXTENDED_ISO_ADVANCED
KSPROPERTY_CAMERACONTROL_EXTENDED_ISO_ADVANCED是一种扩展属性控件,允许更精细地进行全局 ISO 控制。
使用情况摘要表
范围 | 控制 | 类型 |
---|---|---|
版本 1 |
固定 (照片) |
异步 |
ksmedia_phone.h 中定义了新的KSCAMERA_EXTENDEDPROP_ISO_MANUAL标志,如下所示。
#define KSCAMERA_EXTENDEDPROP_ISO_MANUAL 0x0080000000000000
下表包含KSPROPERTY_CAMERACONTROL_EXTENDED_ISO_ADVANCED控件的 KSCAMERA_EXTENDEDPROP_HEADER 结构字段的说明和要求。
Windows 8.1 KS_CAMERACONTROL_EXTENDED_ISO保持不变,不支持整数手动 ISO。 驱动程序应仅支持新的 KSPROPERTY_CAMERACONTROL_EXTENDED_ISO_ADVANCED 控件。 如果这两个控件都受支持,则管道将默认为 KSPROPERTY_CAMERACONTROL_EXTENDED_ISO_ADVANCED 控件。
如果支持 KSPROPERTY_CAMERACONTROL_EXTENDED_ISO_ADVANCED 控件,则驱动程序可以播发的唯一功能如下。
KSCAMERA_EXTENDEDPROP_ISO_AUTO
KSCAMERA_EXTENDEDPROP_ISO_MANUAL
KSCAMERA_EXTENDEDPROP_CAPS_ASYNCCONTROL
如果驱动程序播发KSCAMERA_EXTENDEDPROP_ISO_MANUAL功能标志,则它还必须在 KSCAMERA_EXTENDED_PROP_VIDEOPROCSETTING 属性的 Min/Max/Step 值中播发支持的 ISO 范围。 如果驱动程序播发的 Min 值为 0,最大值为 0,或者步骤值小于 1,则控件将被标记为不可用并被管道拒绝。
如果驱动程序同时支持 KSPROPERTY_CAMERACONTROL_EXTENDED_ISO_ADVANCED 和 KSPROPERTY_CAMERACONTROL_EXTENDED_ISO,则驱动程序必须为KSPROPERTY_CAMERACONTROL_EXTENDED_ISO_ADVANCED和KSPROPERTY_CAMERACONTROL_EXTENDED_ISO播发KSCAMERA_EXTENDEDPROP_ISO_AUTO。 否则,这两个 ISO 控件将被标记为不可用并被 MF 管道拒绝。
如果驱动程序在 KSPROPERTY_CAMERACONTROL_EXTENDED_ISO_ADVANCED 中播发KSCAMERA_EXTENDEDPROP_ISO_MANUAL,而 KSPROPERTY_CAMERACONTROL_EXTENDED_ISO 中的数值KSCAMERA_EXTENDEDPROP_ISO_XXX值,则 KSPROPERTY_CAMERACONTROL_EXTENDED_ISO 中播发的数值KSCAMERA_EXTENDEDPROP_ISO_XXX值应位于KSCAMERA_EXTENDEDPROP_ISO_MANUAL播发的受支持的手动 ISO 范围。 此外,支持手动范围中的所有数值KSCAMERA_EXTENDEDPROP_ISO_XXX值都应由KSPROPERTY_CAMERACONTROL_EXTENDED_ISO播发。 否则,这两个 ISO 控件可能会被标记为不可用并被 MF 管道拒绝。
例如,以下任何一项的功能都可能被视为灾难性故障,MF 管道可能会拒绝该控件。
KSCAMERA_EXTENDEDPROP_ISO_MANUAL (min= 40,max = 240,step = 20) ,KSCAMERA_EXTENDEDPROP_ISO_50
KSCAMERA_EXTENDEDPROP_ISO_MANUAL (min= 40,max = 240,step = 20) ,KSCAMERA_EXTENDEDPROP_ISO_80
KSCAMERA_EXTENDEDPROP_ISO_MANUAL (min= 40,max = 240,step = 20) ,KSCAMERA_EXTENDEDPROP_ISO_400
MF 管道接受以下任一功能。
KSCAMERA_EXTENDEDPROP_ISO_MANUAL (min= 40,max = 240,step = 20) ,KSCAMERA_EXTENDEDPROP_ISO_80,KSCAMERA_EXTENDEDPROP_ISO_100,KSCAMERA_EXTENDEDPROP_ISO_200
KSCAMERA_EXTENDEDPROP_ISO_MANUAL (min= 40,max = 240,step = 20)
KSCAMERA_EXTENDEDPROP_ISO_80、KSCAMERA_EXTENDEDPROP_ISO_200
成员 | 说明 |
---|---|
版本 |
这必须是 1, |
PinId |
这必须是与照片图钉关联的固定 ID。 |
大小 |
这必须是 sizeof (KSCAMERA_EXTENDEDPROP_HEADER) +sizeof (KSCAMERA_EXTENDEDPROP_VIDEOPROCSETTING) , |
结果 |
这包含上次 SET 操作的错误结果。 如果未执行 SET 操作,则必须为 0。 |
功能 |
这必须是KSCAMERA_EXTENDEDPROP_ISO_AUTO和\或KSCAMERA_EXTENDEDPROP_ISO_MANUAL以及KSCAMERA_EXTENDEDPROP_CAPS_ASYNCCONTROL标志的有点明智或。 此控件必须是异步的。 |
Flags |
这是一个读/写字段。 这可以是上面定义的任何KSCAMERA_EXTENDEDPROP_ISO_XXX标志。 |
下表包含 ISO DDI KSCAMERA_EXTENDEDPROP_VIDEOPROCSETTING 结构字段的说明和要求。 此结构在 ksmedia.h 中定义。
成员 | 说明 |
---|---|
“模式” |
这是未使用的,必须为 0。 |
Min/Max/Step |
Min/Max/Step 包含相机驱动程序支持的手动 ISO 速度的最小值/最大/增量。 如果支持手动 ISO,驱动程序必须返回 GET 操作的这些。 |
VideoProc |
如果在KSCAMERA_EXTENDEDPROP_HEADER的“标志”字段中指定 MANUAL,则 VideoProc.Value.ul 必须在 Min/Max/Step 参数描述的范围内指定当前 ISO 速度值。 如果指定了“手动”以外的标志,则对于 SET 操作,将忽略 VideoProc 字段。 对于 GET 操作,驱动程序必须始终返回当前的 ISO 速度。 |
预留 |
这未使用。 驱动程序必须忽略这一点。 |
GET 调用
驱动程序必须在KSCAMERA_EXTENDEDPROP_HEADER中播发其功能。KSCAMERA_EXTENDEDPROP_HEADER驱动程序的功能和当前 ISO 标志。Flags.â 如果在 Get 调用之前从未发出过 SET 调用,驱动程序应在 KSCAMERA_EXTENDEDPROP_HEADER 中返回其默认值。标志。
如果在“功能”字段中播发KSCAMERA_EXTENDEDPROP_ISO_MANUAL标志,驱动程序必须在KSCAMERA_EXTENDEDPROP_VIDEOPROCSETTING中进一步播发支持的范围。Min/Max/Step。
驱动程序还必须报告KSCAMERA_EXTENDEDPROP_VIDEOPROCSETTING中使用的当前 ISO 速度。VideoProc.Value.ul。 如果在 GET 调用之前未发出 SET 调用,驱动程序应以KSCAMERA_EXTENDEDPROP_VIDEOPROCSETTING返回其当前 ISO 速度。VideoProc.Value.ul。
SET 调用
KSCAMERA_EXTENDEDPROP_VIDEOPROCSETTING。如果在 KSCAMERA_EXTENDEDPROP_HEADER 中指定了KSCAMERA_EXTENDEDPROP_ISO_MANUAL,则 VideoProc.Value.ul 包含所需的整数手动 ISO 速度。标志。
如果在 KSCAMERA_EXTENDEDPROP_HEADER 中指定了KSCAMERA_EXTENDEDPROP_ISO_AUTO标志。标志,KSCAMERA_EXTENDEDPROP_VIDEOPROCSETTING。将忽略 VideoProc.Value.ul。
要求
标头 |
Ksmedia.h |