Android.Hardware.Camera2.CaptureResult.ControlAwbState Property
StateTransition CauseNew StateNotes
INACTIVEINACTIVECamera device auto white balance algorithm is disabled
StateTransition CauseNew StateNotes
INACTIVECamera device initiates AWB scanSEARCHINGValues changing
INACTIVECaptureRequest.ControlAwbLock is ONLOCKEDValues locked
SEARCHINGCamera device finishes AWB scanCONVERGEDGood values, not changing
SEARCHINGCaptureRequest.ControlAwbLock is ONLOCKEDValues locked
CONVERGEDCamera device initiates AWB scanSEARCHINGValues changing
CONVERGEDCaptureRequest.ControlAwbLock is ONLOCKEDValues locked
LOCKEDCaptureRequest.ControlAwbLock is OFFSEARCHINGValues not good after unlock
StateTransition CauseNew StateNotes
INACTIVECamera device finished AWB scanCONVERGEDValues are already good, transient states are skipped by camera device.
LOCKEDCaptureRequest.ControlAwbLock is OFFCONVERGEDValues good after unlock, transient states are skipped by camera device.

Syntax

[Android.Runtime.Register("CONTROL_AWB_STATE")]
public static CaptureResult.Key ControlAwbState { get; }

See Also

CaptureRequest.ControlAwbLock
CaptureRequest.ControlAwbMode
CaptureRequest.ControlMode
CaptureRequest.ControlSceneMode
CameraCharacteristics.InfoSupportedHardwareLevel

Value

Documentation for this section has not yet been entered.

Remarks

StateTransition CauseNew StateNotes
INACTIVEINACTIVECamera device auto white balance algorithm is disabled
StateTransition CauseNew StateNotes
INACTIVECamera device initiates AWB scanSEARCHINGValues changing
INACTIVECaptureRequest.ControlAwbLock is ONLOCKEDValues locked
SEARCHINGCamera device finishes AWB scanCONVERGEDGood values, not changing
SEARCHINGCaptureRequest.ControlAwbLock is ONLOCKEDValues locked
CONVERGEDCamera device initiates AWB scanSEARCHINGValues changing
CONVERGEDCaptureRequest.ControlAwbLock is ONLOCKEDValues locked
LOCKEDCaptureRequest.ControlAwbLock is OFFSEARCHINGValues not good after unlock
StateTransition CauseNew StateNotes
INACTIVECamera device finished AWB scanCONVERGEDValues are already good, transient states are skipped by camera device.
LOCKEDCaptureRequest.ControlAwbLock is OFFCONVERGEDValues 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

[Android Documentation]

Requirements

Namespace: Android.Hardware.Camera2
Assembly: Mono.Android (in Mono.Android.dll)
Assembly Versions: 0.0.0.0