KSPROPERTY_CAMERACONTROL_EXTENDED_ISO_ADVANCED
KSPROPERTY_CAMERACONTROL_EXTENDED_ISO_ADVANCED是擴充屬性控件,可讓更多全域 ISO 控件具有更細微的粒度。
使用量摘要數據表
範圍 | 控制 | 類型 |
---|---|---|
第 1 版 |
釘選 (相片) |
非同步的 |
新的KSCAMERA_EXTENDEDPROP_ISO_MANUAL旗標定義在 ksmedia_phone.h 中,如下所示。
#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 範圍。 如果驅動程式公告最小值為 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,步驟 = 20)
KSCAMERA_EXTENDEDPROP_ISO_80,KSCAMERA_EXTENDEDPROP_ISO_200
member | 描述 |
---|---|
版本 |
這必須是 1, |
PinId |
這必須是與相片釘選相關聯的 Pin 識別碼。 |
大小 |
這必須是sizeof (KSCAMERA_EXTENDEDPROP_HEADER) +sizeof (KSCAMERA_EXTENDEDPROP_VIDEOPROCSETTING) , |
結果 |
這包含最後一個SET作業的錯誤結果。 如果沒有進行 SET 作業,這必須是 0。 |
功能 |
這必須是KSCAMERA_EXTENDEDPROP_ISO_AUTO和\或 KSCAMERA_EXTENDEDPROP_ISO_MANUAL的位 OR,以及KSCAMERA_EXTENDEDPROP_CAPS_ASYNCCONTROL旗標。 此控件必須是異步的。 |
Flags |
這是讀取/寫入欄位。 這可以是上述任何KSCAMERA_EXTENDEDPROP_ISO_XXX旗標。 |
下表包含 ISO DDI KSCAMERA_EXTENDEDPROP_VIDEOPROCSETTING結構欄位的描述和需求。 此結構定義於 ksmedia.h 中。
member | 描述 |
---|---|
[模式] |
這是未使用的,而且必須是 0。 |
最小值/最大值/步驟 |
Min/Max/Step 包含數位相機驅動程式所支援之手動 ISO 速度的最小值/最大值/增量。 如果支援手動 ISO,驅動程式必須針對 GET 作業傳回這些專案。 |
VideoProc |
如果在 KSCAMERA_EXTENDEDPROP_HEADER 的 Flags 欄位中指定 MANUAL,VideoProc.Value.ul 必須在 Min/Max/Step 參數所描述的範圍內指定目前的 ISO 速度值。 如果指定了Manual以外的旗標,則會忽略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中進一步公告支援的範圍。最小值/最大值/步驟。
驅動程式也必須報告目前在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 |