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