KSPROPERTY_CAMERACONTROL_EXTENDED_ISO_ADVANCED
KSPROPERTY_CAMERACONTROL_EXTENDED_ISO_ADVANCED is an extended property control that allows more global ISO control with more granularity.
Usage summary table
Scope | Control | Type |
---|---|---|
Version 1 |
Pin (Photo) |
Asynchronous |
The new KSCAMERA_EXTENDEDPROP_ISO_MANUAL flag is defined in ksmedia_phone.h as follows.
#define KSCAMERA_EXTENDEDPROP_ISO_MANUAL 0x0080000000000000
The following table contains the descriptions and requirements for the KSCAMERA_EXTENDEDPROP_HEADER structure fields for the KSPROPERTY_CAMERACONTROL_EXTENDED_ISO_ADVANCED control.
The Windows 8.1 KS_CAMERACONTROL_EXTENDED_ISO remains unchanged without the support of integer manual ISO. The driver should only support the new KSPROPERTY_CAMERACONTROL_EXTENDED_ISO_ADVANCED control. If both of these controls are supported, the pipeline will default to the KSPROPERTY_CAMERACONTROL_EXTENDED_ISO_ADVANCED control.
If the KSPROPERTY_CAMERACONTROL_EXTENDED_ISO_ADVANCED control is supported, the only capabilities that the driver can advertise are the following.
KSCAMERA_EXTENDEDPROP_ISO_AUTO
KSCAMERA_EXTENDEDPROP_ISO_MANUAL
KSCAMERA_EXTENDEDPROP_CAPS_ASYNCCONTROL
If the driver advertises the KSCAMERA_EXTENDEDPROP_ISO_MANUAL capability flag, it must also advertise the supported ISO ranges in the Min/Max/Step value of the KSCAMERA_EXTENDED_PROP_VIDEOPROCSETTING property. If the driver advertises a Min value of 0 and a Max value of 0, or a Step value of less than 1, the control is flagged as unusable and is rejected by the pipeline.
If the driver supports both KSPROPERTY_CAMERACONTROL_EXTENDED_ISO_ADVANCED and KSPROPERTY_CAMERACONTROL_EXTENDED_ISO, the driver must advertise KSCAMERA_EXTENDEDPROP_ISO_AUTO for both KSPROPERTY_CAMERACONTROL_EXTENDED_ISO_ADVANCED and KSPROPERTY_CAMERACONTROL_EXTENDED_ISO. Otherwise, both ISO controls will be flagged as unusable and rejected by the MF pipeline.
If the driver advertises KSCAMERA_EXTENDEDPROP_ISO_MANUAL in KSPROPERTY_CAMERACONTROL_EXTENDED_ISO_ADVANCED and the numeric KSCAMERA_EXTENDEDPROP_ISO_XXX values in KSPROPERTY_CAMERACONTROL_EXTENDED_ISO, the numeric KSCAMERA_EXTENDEDPROP_ISO_XXX values advertised in KSPROPERTY_CAMERACONTROL_EXTENDED_ISO should be in the supported manual ISO ranges advertised by KSCAMERA_EXTENDEDPROP_ISO_MANUAL. In addition, all the numeric KSCAMERA_EXTENDEDPROP_ISO_XXX values in the supported manual ranges should be advertised by KSPROPERTY_CAMERACONTROL_EXTENDED_ISO. Otherwise, both ISO controls may be flagged as unusable and rejected by the MF pipeline.
For example, capabilities of any of the following may be treated as a catastrophic failure and the control may be rejected by the MF pipeline.
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
Capabilities of any of the following are accepted by the MF pipeline.
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
Member | Description |
---|---|
Version |
This must be 1, |
PinId |
This must be the Pin ID associated with the photo pin. |
Size |
This must be sizeof(KSCAMERA_EXTENDEDPROP_HEADER)+sizeof(KSCAMERA_EXTENDEDPROP_VIDEOPROCSETTING), |
Result |
This contains the error results of the last SET operation. If no SET operation has taken place, this must be 0. |
Capability |
This must be a bit wise OR of KSCAMERA_EXTENDEDPROP_ISO_AUTO and\or KSCAMERA_EXTENDEDPROP_ISO_MANUAL, and the KSCAMERA_EXTENDEDPROP_CAPS_ASYNCCONTROL flag. This control must be asynchronous. |
Flags |
This is a read/write field. This can be any of the KSCAMERA_EXTENDEDPROP_ISO_XXX flags defined above. |
The following table contains the descriptions and requirements for the KSCAMERA_EXTENDEDPROP_VIDEOPROCSETTING structure fields for the ISO DDI. This structure is defined in ksmedia.h.
Member | Description |
---|---|
Mode |
This is unused and must be 0. |
Min/Max/Step |
The Min/Max/Step contains the minimum/maximum/increment of the manual ISO speed supported by the camera driver. The driver must return these for GET operations if manual ISO is supported. |
VideoProc |
If MANUAL is specified in the Flags field of the KSCAMERA_EXTENDEDPROP_HEADER, the VideoProc.Value.ul must specify the current ISO speed value within the range described by the Min/Max/Step parameter. If Flags other than Manual is specified, for SET operations, the VideoProc field is ignored. For GET operations, the driver must always return the current ISO speed regardless. |
Reserved |
This is unused. This must be ignored by the driver. |
GET call
The driver must advertise its capability in KSCAMERA_EXTENDEDPROP_HEADER.Capability and the current ISO flag at driver in KSCAMERA_EXTENDEDPROP_HEADER.Flags. If no SET call has ever been issued before the Get call, driver should return its default in KSCAMERA_EXTENDEDPROP_HEADER.Flags.
If the KSCAMERA_EXTENDEDPROP_ISO_MANUAL flag is advertised in the Capability field, the driver must further advertise the supported ranges in KSCAMERA_EXTENDEDPROP_VIDEOPROCSETTING.Min/Max/Step.
The driver must also report the current ISO speed in use in KSCAMERA_EXTENDEDPROP_VIDEOPROCSETTING.VideoProc.Value.ul. If no SET call has ever been issued before the GET call, the driver should return its current ISO speed in KSCAMERA_EXTENDEDPROP_VIDEOPROCSETTING.VideoProc.Value.ul.
SET call
The KSCAMERA_EXTENDEDPROP_VIDEOPROCSETTING.VideoProc.Value.ul contains the desired integer manual ISO speed if KSCAMERA_EXTENDEDPROP_ISO_MANUAL is specified in KSCAMERA_EXTENDEDPROP_HEADER.Flags.
If the KSCAMERA_EXTENDEDPROP_ISO_AUTO flag is specified in KSCAMERA_EXTENDEDPROP_HEADER.Flags, KSCAMERA_EXTENDEDPROP_VIDEOPROCSETTING.VideoProc.Value.ul will be ignored.
Requirements
Header |
Ksmedia.h |