controls: Introduce AEGC-related controls

Introduce the AeState, ExposureTimeMode and AnalogueGainMode controls
to model the AEGC algorithm block.

The three controls allow applications to select the exposure time and
analogue gain computation calculation mode (auto vs manual)
independently from one another, while the AeState control reports the
global state for the AEGC algorithm.

The new controls are meant to replace the existing AeEnable and AeLocked
controls, which are momentarily kept not to break compilation of
platforms making use of them.

Bug: https://bugs.libcamera.org/show_bug.cgi?id=42
Bug: https://bugs.libcamera.org/show_bug.cgi?id=43
Bug: https://bugs.libcamera.org/show_bug.cgi?id=47
Signed-off-by: Paul Elder <paul.elder@ideasonboard.com>
Signed-off-by: Jacopo Mondi <jacopo@jmondi.org>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
This commit is contained in:
Paul Elder
2025-01-13 15:59:35 -06:00
committed by Laurent Pinchart
parent b01918978c
commit 3becdbcbe8
2 changed files with 245 additions and 50 deletions
-30
View File
@@ -80,36 +80,6 @@ controls:
High quality aberration correction which might reduce the frame
rate.
- AeState:
type: int32_t
direction: out
description: |
Control to report the current AE algorithm state. Currently identical to
ANDROID_CONTROL_AE_STATE.
Current state of the AE algorithm.
enum:
- name: AeStateInactive
value: 0
description: The AE algorithm is inactive.
- name: AeStateSearching
value: 1
description: The AE algorithm has not converged yet.
- name: AeStateConverged
value: 2
description: The AE algorithm has converged.
- name: AeStateLocked
value: 3
description: The AE algorithm is locked.
- name: AeStateFlashRequired
value: 4
description: The AE algorithm would need a flash for good results
- name: AeStatePrecapture
value: 5
description: |
The AE algorithm has started a pre-capture metering session.
\sa AePrecaptureTrigger
- AwbState:
type: int32_t
direction: out