State | Transition Cause | New State | Notes |
---|---|---|---|
INACTIVE | INACTIVE | Camera device auto white balance algorithm is disabled |
State | Transition Cause | New State | Notes |
---|---|---|---|
INACTIVE | Camera device initiates AWB scan | SEARCHING | Values changing |
INACTIVE | CaptureRequest.ControlAwbLock is ON | LOCKED | Values locked |
SEARCHING | Camera device finishes AWB scan | CONVERGED | Good values, not changing |
SEARCHING | CaptureRequest.ControlAwbLock is ON | LOCKED | Values locked |
CONVERGED | Camera device initiates AWB scan | SEARCHING | Values changing |
CONVERGED | CaptureRequest.ControlAwbLock is ON | LOCKED | Values locked |
LOCKED | CaptureRequest.ControlAwbLock is OFF | SEARCHING | Values not good after unlock |
State | Transition Cause | New State | Notes |
---|---|---|---|
INACTIVE | Camera device finished AWB scan | CONVERGED | Values are already good, transient states are skipped by camera device. |
LOCKED | CaptureRequest.ControlAwbLock is OFF | CONVERGED | Values good after unlock, 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 white balance algorithm is disabled |
State | Transition Cause | New State | Notes |
---|---|---|---|
INACTIVE | Camera device initiates AWB scan | SEARCHING | Values changing |
INACTIVE | CaptureRequest.ControlAwbLock is ON | LOCKED | Values locked |
SEARCHING | Camera device finishes AWB scan | CONVERGED | Good values, not changing |
SEARCHING | CaptureRequest.ControlAwbLock is ON | LOCKED | Values locked |
CONVERGED | Camera device initiates AWB scan | SEARCHING | Values changing |
CONVERGED | CaptureRequest.ControlAwbLock is ON | LOCKED | Values locked |
LOCKED | CaptureRequest.ControlAwbLock is OFF | SEARCHING | Values not good after unlock |
State | Transition Cause | New State | Notes |
---|---|---|---|
INACTIVE | Camera device finished AWB scan | CONVERGED | Values are already good, transient states are skipped by camera device. |
LOCKED | CaptureRequest.ControlAwbLock is OFF | CONVERGED | Values good after unlock, transient states are skipped by camera device. |
Current state of auto-white balance (AWB) algorithm.
Switching between or enabling AWB modes (CaptureRequest.ControlAwbMode) always resets the AWB 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. So 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 AWB state becomes CONVERGED, then the image data associated with this result should be good to use.
Below are state transition tables for different AWB modes.
When CaptureRequest.ControlAwbMode != AWB_MODE_AUTO:
When CaptureRequest.ControlAwbMode is AWB_MODE_AUTO:
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 this AWB mode (AWB_MODE_AUTO), 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