[libcamera-devel] [PATCH v2 07/10] ipa: ipu3: convert AGC to the new algorithm interface

Jean-Michel Hautbois jeanmichel.hautbois at ideasonboard.com
Thu Aug 12 18:52:40 CEST 2021


Signed-off-by: Jean-Michel Hautbois <jeanmichel.hautbois at ideasonboard.com>
---
 src/ipa/ipu3/ipu3.cpp     | 2 +-
 src/ipa/ipu3/ipu3_agc.cpp | 8 +++++---
 src/ipa/ipu3/ipu3_agc.h   | 2 +-
 3 files changed, 7 insertions(+), 5 deletions(-)

diff --git a/src/ipa/ipu3/ipu3.cpp b/src/ipa/ipu3/ipu3.cpp
index dba5554d..2a8225a0 100644
--- a/src/ipa/ipu3/ipu3.cpp
+++ b/src/ipa/ipu3/ipu3.cpp
@@ -232,7 +232,7 @@ int IPAIPU3::configure(const IPAConfigInfo &configInfo)
 	awbAlgo_ = std::make_unique<IPU3Awb>();
 
 	agcAlgo_ = std::make_unique<IPU3Agc>();
-	agcAlgo_->initialise(context_.configuration.grid.bdsGrid, sensorInfo_);
+	agcAlgo_->configure(context_, configInfo);
 
 	return 0;
 }
diff --git a/src/ipa/ipu3/ipu3_agc.cpp b/src/ipa/ipu3/ipu3_agc.cpp
index c6782ff4..0cc35b9f 100644
--- a/src/ipa/ipu3/ipu3_agc.cpp
+++ b/src/ipa/ipu3/ipu3_agc.cpp
@@ -59,12 +59,14 @@ IPU3Agc::IPU3Agc()
 {
 }
 
-void IPU3Agc::initialise(struct ipu3_uapi_grid_config &bdsGrid, const IPACameraSensorInfo &sensorInfo)
+int IPU3Agc::configure(IPAContext &context, const IPAConfigInfo &configInfo)
 {
-	aeGrid_ = bdsGrid;
+	aeGrid_ = context.configuration.grid.bdsGrid;
 
-	lineDuration_ = sensorInfo.lineLength * 1.0s / sensorInfo.pixelRate;
+	lineDuration_ = configInfo.sensorInfo.lineLength * 1.0s / configInfo.sensorInfo.pixelRate;
 	maxExposureTime_ = kMaxExposure * lineDuration_;
+
+	return 0;
 }
 
 void IPU3Agc::processBrightness(const ipu3_uapi_stats_3a *stats)
diff --git a/src/ipa/ipu3/ipu3_agc.h b/src/ipa/ipu3/ipu3_agc.h
index 8b32e52f..e096648b 100644
--- a/src/ipa/ipu3/ipu3_agc.h
+++ b/src/ipa/ipu3/ipu3_agc.h
@@ -29,7 +29,7 @@ public:
 	IPU3Agc();
 	~IPU3Agc() = default;
 
-	void initialise(struct ipu3_uapi_grid_config &bdsGrid, const IPACameraSensorInfo &sensorInfo);
+	int configure(IPAContext &context, const IPAConfigInfo &configInfo) override;
 	void process(IPAContext &context, const ipu3_uapi_stats_3a *stats) override;
 	bool converged() { return converged_; }
 	bool updateControls() { return updateControls_; }
-- 
2.30.2



More information about the libcamera-devel mailing list