summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/ipa/raspberrypi/raspberrypi.cpp22
1 files changed, 7 insertions, 15 deletions
diff --git a/src/ipa/raspberrypi/raspberrypi.cpp b/src/ipa/raspberrypi/raspberrypi.cpp
index a5b4b311..bd20b144 100644
--- a/src/ipa/raspberrypi/raspberrypi.cpp
+++ b/src/ipa/raspberrypi/raspberrypi.cpp
@@ -67,9 +67,8 @@ class IPARPi : public ipa::RPi::IPARPiInterface
{
public:
IPARPi()
- : lastMode_({}), controller_(), controllerInit_(false),
- frameCount_(0), checkCount_(0), mistrustCount_(0),
- lsTable_(nullptr), firstStart_(true)
+ : lastMode_({}), controller_(), frameCount_(0), checkCount_(0),
+ mistrustCount_(0), lsTable_(nullptr), firstStart_(true)
{
}
@@ -127,9 +126,6 @@ private:
ControlInfoMap ispCtrls_;
ControlList libcameraMetadata_;
- /* IPA configuration. */
- std::string tuningFile_;
-
/* Camera sensor params. */
CameraMode mode_;
CameraMode lastMode_;
@@ -137,7 +133,6 @@ private:
/* Raspberry Pi controller specific defines. */
std::unique_ptr<RPiController::CamHelper> helper_;
RPiController::Controller controller_;
- bool controllerInit_;
RPiController::Metadata rpiMetadata_;
/*
@@ -166,8 +161,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 +186,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;
}
@@ -372,12 +369,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);