[libcamera-devel] [PATCH 4/7] ipa: raspberrypi: Move the controller initialise to ipa::init()

Naushir Patuck naush at raspberrypi.com
Wed Mar 17 11:02:08 CET 2021


The controller initialise is a one-off operation, so move it from
ipa::configure() to ipa::init().

Signed-off-by: Naushir Patuck <naush at raspberrypi.com>
---
 src/ipa/raspberrypi/raspberrypi.cpp | 16 +++++-----------
 1 file changed, 5 insertions(+), 11 deletions(-)

diff --git a/src/ipa/raspberrypi/raspberrypi.cpp b/src/ipa/raspberrypi/raspberrypi.cpp
index 8a9eb92b39ec..e2db0716b84b 100644
--- a/src/ipa/raspberrypi/raspberrypi.cpp
+++ b/src/ipa/raspberrypi/raspberrypi.cpp
@@ -127,9 +127,6 @@ private:
 	ControlInfoMap ispCtrls_;
 	ControlList libcameraMetadata_;
 
-	/* IPA configuration. */
-	std::string tuningFile_;
-
 	/* Camera sensor params. */
 	CameraMode mode_;
 	CameraMode lastMode_;
@@ -166,8 +163,6 @@ private:
 
 int IPARPi::init(const IPASettings &settings, ipa::RPi::SensorConfig *sensorConfig)
 {
-	tuningFile_ = settings.configurationFile;
-
 	/*
 	 * Load the "helper" for this sensor. This tells us all the device specific stuff
 	 * that the kernel driver doesn't. We only do this the first time; we don't need
@@ -193,6 +188,10 @@ int IPARPi::init(const IPASettings &settings, ipa::RPi::SensorConfig *sensorConf
 	sensorConfig->vblankDelay = vblankDelay;
 	sensorConfig->sensorMetadata = sensorMetadata;
 
+	/* Load the tuning file for this sensor. */
+	controller_.Read(settings.configurationFile.c_str());
+	controller_.Initialise();
+
 	return 0;
 }
 
@@ -374,12 +373,7 @@ int IPARPi::configure(const CameraSensorInfo &sensorInfo,
 	/* Pass the camera mode to the CamHelper to setup algorithms. */
 	helper_->SetCameraMode(mode_);
 
-	if (!controllerInit_) {
-		/* Load the tuning file for this sensor. */
-		controller_.Read(tuningFile_.c_str());
-		controller_.Initialise();
-		controllerInit_ = true;
-
+	if (firstStart_) {
 		/* Supply initial values for frame durations. */
 		applyFrameDurations(defaultMinFrameDuration, defaultMaxFrameDuration);
 
-- 
2.25.1



More information about the libcamera-devel mailing list