[RFC,v4,01/23] libcamera: controls: AeExposureMode: Add ExposureMaximize
diff mbox series

Message ID 20261026132045.269007-2-barnabas.pocze@ideasonboard.com
State New
Headers show
Series
  • ipa: libipa: agc: Take exposure margin into account
Related show

Commit Message

Barnabás Pőcze Oct. 26, 2026, 1:20 p.m. UTC
Add a new exposure mode that is intended to make the full capabilities
of a sensor available for applications, potentially allowing multi-second
exposure times and maximal analogue gain.

Signed-off-by: Barnabás Pőcze <barnabas.pocze@ideasonboard.com>
---
 src/libcamera/control_ids_core.yaml | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

Patch
diff mbox series

diff --git a/src/libcamera/control_ids_core.yaml b/src/libcamera/control_ids_core.yaml
index 89991d03d7..acd8ffd85a 100644
--- a/src/libcamera/control_ids_core.yaml
+++ b/src/libcamera/control_ids_core.yaml
@@ -188,6 +188,25 @@  controls:
         - name: ExposureCustom
           value: 3
           description: Custom exposure mode.
+        - name: ExposureMaximize
+          value: 4
+          description: |
+            Exposure mode allowing very large exposure times and gains.
+
+            This mode is intended to make the full capabilities of the sensor
+            available. In practice this allows multi-second exposures and
+            maximum available analogue gain. In contrast to other modes,
+            it is generally expected that the exposure time is maximized first,
+            and only then is gain used to achieve the target exposure. Note,
+            that this mode can be customized in tuning files, thus the behaviour
+            might differ slightly.
+
+            Such behaviour can be useful for mostly static scenes where the
+            lighting changes drastically over a period of time (e.g. capturing
+            the sky 24 hours a day).
+
+            Be aware that FrameDurationLimits will always apply, potentially reducing
+            the maximum achievable exposure time.
 
   - ExposureValue:
       type: float