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

Laurent Pinchart laurent.pinchart at ideasonboard.com
Mon Mar 22 22:17:07 CET 2021


Hi Naush,

Thank you for the patch.

On Wed, Mar 17, 2021 at 10:02:08AM +0000, Naushir Patuck wrote:
> 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>

Reviewed-by: Laurent Pinchart <laurent.pinchart at ideasonboard.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);
>  

-- 
Regards,

Laurent Pinchart


More information about the libcamera-devel mailing list