State | Transition Cause | New State | Notes |
---|---|---|---|
INACTIVE | INACTIVE | Camera device auto exposure algorithm is disabled |
State | Transition Cause | New State | Notes |
---|---|---|---|
INACTIVE | Camera device initiates AE scan | SEARCHING | Values changing |
INACTIVE | CaptureRequest.ControlAeLock is ON | LOCKED | Values locked |
SEARCHING | Camera device finishes AE scan | CONVERGED | Good values, not changing |
SEARCHING | Camera device finishes AE scan | FLASH_REQUIRED | Converged but too dark w/o flash |
SEARCHING | CaptureRequest.ControlAeLock is ON | LOCKED | Values locked |
CONVERGED | Camera device initiates AE scan | SEARCHING | Values changing |
CONVERGED | CaptureRequest.ControlAeLock is ON | LOCKED | Values locked |
FLASH_REQUIRED | Camera device initiates AE scan | SEARCHING | Values changing |
FLASH_REQUIRED | CaptureRequest.ControlAeLock is ON | LOCKED | Values locked |
LOCKED | CaptureRequest.ControlAeLock is OFF | SEARCHING | Values not good after unlock |
LOCKED | CaptureRequest.ControlAeLock is OFF | CONVERGED | Values good after unlock |
LOCKED | CaptureRequest.ControlAeLock is OFF | FLASH_REQUIRED | Exposure good, but too dark |
PRECAPTURE | Sequence done. CaptureRequest.ControlAeLock is OFF | CONVERGED | Ready for high-quality capture |
PRECAPTURE | Sequence done. CaptureRequest.ControlAeLock is ON | LOCKED | Ready for high-quality capture |
Any state | CaptureRequest.ControlAePrecaptureTrigger is START | PRECAPTURE | Start AE precapture metering sequence |
State | Transition Cause | New State | Notes |
---|---|---|---|
INACTIVE | Camera device finished AE scan | CONVERGED | Values are already good, transient states are skipped by camera device. |
Any state | CaptureRequest.ControlAePrecaptureTrigger is START, sequence done | FLASH_REQUIRED | Converged but too dark w/o flash after a precapture sequence, transient states are skipped by camera device. |
Any state | CaptureRequest.ControlAePrecaptureTrigger is START, sequence done | CONVERGED | Converged after a precapture sequence, transient states are skipped by camera device. |
CONVERGED | Camera device finished AE scan | FLASH_REQUIRED | Converged but too dark w/o flash after a new scan, transient states are skipped by camera device. |
FLASH_REQUIRED | Camera device finished AE scan | CONVERGED | Converged after a new scan, transient states are skipped by camera device. |
Documentation for this section has not yet been entered.
State | Transition Cause | New State | Notes |
---|---|---|---|
INACTIVE | INACTIVE | Camera device auto exposure algorithm is disabled |
State | Transition Cause | New State | Notes |
---|---|---|---|
INACTIVE | Camera device initiates AE scan | SEARCHING | Values changing |
INACTIVE | CaptureRequest.ControlAeLock is ON | LOCKED | Values locked |
SEARCHING | Camera device finishes AE scan | CONVERGED | Good values, not changing |
SEARCHING | Camera device finishes AE scan | FLASH_REQUIRED | Converged but too dark w/o flash |
SEARCHING | CaptureRequest.ControlAeLock is ON | LOCKED | Values locked |
CONVERGED | Camera device initiates AE scan | SEARCHING | Values changing |
CONVERGED | CaptureRequest.ControlAeLock is ON | LOCKED | Values locked |
FLASH_REQUIRED | Camera device initiates AE scan | SEARCHING | Values changing |
FLASH_REQUIRED | CaptureRequest.ControlAeLock is ON | LOCKED | Values locked |
LOCKED | CaptureRequest.ControlAeLock is OFF | SEARCHING | Values not good after unlock |
LOCKED | CaptureRequest.ControlAeLock is OFF | CONVERGED | Values good after unlock |
LOCKED | CaptureRequest.ControlAeLock is OFF | FLASH_REQUIRED | Exposure good, but too dark |
PRECAPTURE | Sequence done. CaptureRequest.ControlAeLock is OFF | CONVERGED | Ready for high-quality capture |
PRECAPTURE | Sequence done. CaptureRequest.ControlAeLock is ON | LOCKED | Ready for high-quality capture |
Any state | CaptureRequest.ControlAePrecaptureTrigger is START | PRECAPTURE | Start AE precapture metering sequence |
State | Transition Cause | New State | Notes |
---|---|---|---|
INACTIVE | Camera device finished AE scan | CONVERGED | Values are already good, transient states are skipped by camera device. |
Any state | CaptureRequest.ControlAePrecaptureTrigger is START, sequence done | FLASH_REQUIRED | Converged but too dark w/o flash after a precapture sequence, transient states are skipped by camera device. |
Any state | CaptureRequest.ControlAePrecaptureTrigger is START, sequence done | CONVERGED | Converged after a precapture sequence, transient states are skipped by camera device. |
CONVERGED | Camera device finished AE scan | FLASH_REQUIRED | Converged but too dark w/o flash after a new scan, transient states are skipped by camera device. |
FLASH_REQUIRED | Camera device finished AE scan | CONVERGED | Converged after a new scan, transient states are skipped by camera device. |
Current state of the auto-exposure (AE) algorithm.
Switching between or enabling AE modes (CaptureRequest.ControlAeMode) always resets the AE state to INACTIVE. Similarly, switching between CaptureRequest.ControlMode, or CaptureRequest.ControlSceneMode if CaptureRequest.ControlMode == USE_SCENE_MODE resets all the algorithm states to INACTIVE.
The camera device can do several state transitions between two results, if it is allowed by the state transition table. For example: INACTIVE may never actually be seen in a result.
The state in the result is the state for this image (in sync with this image): if AE state becomes CONVERGED, then the image data associated with this result should be good to use.
Below are state transition tables for different AE modes.
When CaptureRequest.ControlAeMode is AE_MODE_ON_*:
For the above table, the camera device may skip reporting any state changes that happen without application intervention (i.e. mode switch, trigger, locking). Any state that can be skipped in that manner is called a transient state.
For example, for above AE modes (AE_MODE_ON_*), in addition to the state transitions listed in above table, it is also legal for the camera device to skip one or more transient states between two results. See below table for examples:
Possible values:
Optional - This value may be null on some devices.
Limited capability - Present on all camera devices that report being at least CameraMetadata.INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED devices in the CameraCharacteristics.InfoSupportedHardwareLevel key