[libcamera-devel] [PATCH] ipa: ipu3: agc: drop hard-codec analogue gain range

Jacopo Mondi jacopo.mondi at ideasonboard.com
Fri May 19 18:22:15 CEST 2023


As the sensor's analogue gain range is known drop the arbitrary
limits for the sensor analogue gain.

Signed-off-by: Jacopo Mondi <jacopo.mondi at ideasonboard.com>
---
 src/ipa/ipu3/algorithms/agc.cpp | 10 +++-------
 1 file changed, 3 insertions(+), 7 deletions(-)

diff --git a/src/ipa/ipu3/algorithms/agc.cpp b/src/ipa/ipu3/algorithms/agc.cpp
index b5309bdbea25..74a14675fca0 100644
--- a/src/ipa/ipu3/algorithms/agc.cpp
+++ b/src/ipa/ipu3/algorithms/agc.cpp
@@ -47,10 +47,6 @@ namespace ipa::ipu3::algorithms {
 
 LOG_DEFINE_CATEGORY(IPU3Agc)
 
-/* Limits for analogue gain values */
-static constexpr double kMinAnalogueGain = 1.0;
-static constexpr double kMaxAnalogueGain = 8.0;
-
 /* \todo Honour the FrameDurationLimits control instead of hardcoding a limit */
 static constexpr utils::Duration kMaxShutterSpeed = 60ms;
 
@@ -96,11 +92,11 @@ int Agc::configure(IPAContext &context,
 	maxShutterSpeed_ = std::min(configuration.agc.maxShutterSpeed,
 				    kMaxShutterSpeed);
 
-	minAnalogueGain_ = std::max(configuration.agc.minAnalogueGain, kMinAnalogueGain);
-	maxAnalogueGain_ = std::min(configuration.agc.maxAnalogueGain, kMaxAnalogueGain);
+	minAnalogueGain_ = configuration.agc.minAnalogueGain;
+	maxAnalogueGain_ = configuration.agc.maxAnalogueGain;
 
 	/* Configure the default exposure and gain. */
-	activeState.agc.gain = std::max(minAnalogueGain_, kMinAnalogueGain);
+	activeState.agc.gain = minAnalogueGain_;
 	activeState.agc.exposure = 10ms / configuration.sensor.lineDuration;
 
 	frameCount_ = 0;
-- 
2.40.1



More information about the libcamera-devel mailing list