[libcamera-devel] [PATCH] ipa: rkisp1: Remove initialized_ flags from algorithms

Jacopo Mondi jacopo at jmondi.org
Fri Sep 30 11:07:42 CEST 2022


Hi Laurent

On Fri, Sep 30, 2022 at 04:55:47AM +0300, Laurent Pinchart via libcamera-devel wrote:
> Multiple algorithms have an initialized_ flag that they set to true at
> the end of the init() function, and check at the beginning of prepare()
> to skip preparation. This serves no real purpose, as the flag can only
> be false if init() fails, in which case the IPA module initialization as
> a whole will fail.
>
> Drop the initialized_ flags.
>
> Signed-off-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>

Thanks!
Reviewed-by: Jacopo Mondi <jacopo at jmondi.org>


> ---
>  src/ipa/rkisp1/algorithms/dpcc.cpp | 7 +------
>  src/ipa/rkisp1/algorithms/dpcc.h   | 1 -
>  src/ipa/rkisp1/algorithms/dpf.cpp  | 7 +------
>  src/ipa/rkisp1/algorithms/dpf.h    | 1 -
>  src/ipa/rkisp1/algorithms/gsl.cpp  | 5 -----
>  src/ipa/rkisp1/algorithms/gsl.h    | 1 -
>  src/ipa/rkisp1/algorithms/lsc.cpp  | 8 +-------
>  src/ipa/rkisp1/algorithms/lsc.h    | 2 --
>  8 files changed, 3 insertions(+), 29 deletions(-)
>
> diff --git a/src/ipa/rkisp1/algorithms/dpcc.cpp b/src/ipa/rkisp1/algorithms/dpcc.cpp
> index 53aa1d93e42b..3d6b87e62239 100644
> --- a/src/ipa/rkisp1/algorithms/dpcc.cpp
> +++ b/src/ipa/rkisp1/algorithms/dpcc.cpp
> @@ -189,7 +189,7 @@ bool parseMethod(const YamlObject &yamlMethod, const Method &method,
>  } /* namespace */
>
>  DefectPixelClusterCorrection::DefectPixelClusterCorrection()
> -	: initialized_(false), config_({})
> +	: config_({})
>  {
>  }
>
> @@ -250,8 +250,6 @@ int DefectPixelClusterCorrection::init([[maybe_unused]] IPAContext &context,
>  		}
>  	}
>
> -	initialized_ = true;
> -
>  	return 0;
>  }
>
> @@ -266,9 +264,6 @@ void DefectPixelClusterCorrection::prepare([[maybe_unused]] IPAContext &context,
>  	if (frame > 0)
>  		return;
>
> -	if (!initialized_)
> -		return;
> -
>  	params->others.dpcc_config = config_;
>
>  	params->module_en_update |= RKISP1_CIF_ISP_MODULE_DPCC;
> diff --git a/src/ipa/rkisp1/algorithms/dpcc.h b/src/ipa/rkisp1/algorithms/dpcc.h
> index 894c0249f35d..b1fac7d1bb37 100644
> --- a/src/ipa/rkisp1/algorithms/dpcc.h
> +++ b/src/ipa/rkisp1/algorithms/dpcc.h
> @@ -25,7 +25,6 @@ public:
>  		     rkisp1_params_cfg *params) override;
>
>  private:
> -	bool initialized_;
>  	rkisp1_cif_isp_dpcc_config config_;
>  };
>
> diff --git a/src/ipa/rkisp1/algorithms/dpf.cpp b/src/ipa/rkisp1/algorithms/dpf.cpp
> index f7bc371da52e..82d4f7fecc67 100644
> --- a/src/ipa/rkisp1/algorithms/dpf.cpp
> +++ b/src/ipa/rkisp1/algorithms/dpf.cpp
> @@ -35,7 +35,7 @@ namespace ipa::rkisp1::algorithms {
>  LOG_DEFINE_CATEGORY(RkISP1Dpf)
>
>  Dpf::Dpf()
> -	: initialized_(false), config_({}), strengthConfig_({})
> +	: config_({}), strengthConfig_({})
>  {
>  }
>
> @@ -166,8 +166,6 @@ int Dpf::init([[maybe_unused]] IPAContext &context,
>  	strengthConfig_.g = fSObject["g"].get<uint16_t>(64);
>  	strengthConfig_.b = fSObject["b"].get<uint16_t>(64);
>
> -	initialized_ = true;
> -
>  	return 0;
>  }
>
> @@ -219,9 +217,6 @@ void Dpf::queueRequest(IPAContext &context,
>  void Dpf::prepare(IPAContext &context, const uint32_t frame,
>  		  IPAFrameContext &frameContext, rkisp1_params_cfg *params)
>  {
> -	if (!initialized_)
> -		return;
> -
>  	if (frame == 0) {
>  		params->others.dpf_config = config_;
>  		params->others.dpf_strength_config = strengthConfig_;
> diff --git a/src/ipa/rkisp1/algorithms/dpf.h b/src/ipa/rkisp1/algorithms/dpf.h
> index e232cad4ee87..58f29f74e84b 100644
> --- a/src/ipa/rkisp1/algorithms/dpf.h
> +++ b/src/ipa/rkisp1/algorithms/dpf.h
> @@ -30,7 +30,6 @@ public:
>  		     rkisp1_params_cfg *params) override;
>
>  private:
> -	bool initialized_;
>  	struct rkisp1_cif_isp_dpf_config config_;
>  	struct rkisp1_cif_isp_dpf_strength_config strengthConfig_;
>  };
> diff --git a/src/ipa/rkisp1/algorithms/gsl.cpp b/src/ipa/rkisp1/algorithms/gsl.cpp
> index 9cbad02038c4..a80fed589bb2 100644
> --- a/src/ipa/rkisp1/algorithms/gsl.cpp
> +++ b/src/ipa/rkisp1/algorithms/gsl.cpp
> @@ -49,7 +49,6 @@ LOG_DEFINE_CATEGORY(RkISP1Gsl)
>  static constexpr unsigned int kDegammaXIntervals = 16;
>
>  GammaSensorLinearization::GammaSensorLinearization()
> -	: initialized_(false)
>  {
>  }
>
> @@ -111,7 +110,6 @@ int GammaSensorLinearization::init([[maybe_unused]] IPAContext &context,
>  		return -EINVAL;
>  	}
>
> -	initialized_ = true;
>  	return 0;
>  }
>
> @@ -126,9 +124,6 @@ void GammaSensorLinearization::prepare([[maybe_unused]] IPAContext &context,
>  	if (frame > 0)
>  		return;
>
> -	if (!initialized_)
> -		return;
> -
>  	params->others.sdg_config.xa_pnts.gamma_dx0 = gammaDx_[0];
>  	params->others.sdg_config.xa_pnts.gamma_dx1 = gammaDx_[1];
>
> diff --git a/src/ipa/rkisp1/algorithms/gsl.h b/src/ipa/rkisp1/algorithms/gsl.h
> index 5024b6835949..0f1116a7b1f2 100644
> --- a/src/ipa/rkisp1/algorithms/gsl.h
> +++ b/src/ipa/rkisp1/algorithms/gsl.h
> @@ -25,7 +25,6 @@ public:
>  		     rkisp1_params_cfg *params) override;
>
>  private:
> -	bool initialized_;
>  	uint32_t gammaDx_[2];
>  	std::vector<uint16_t> curveYr_;
>  	std::vector<uint16_t> curveYg_;
> diff --git a/src/ipa/rkisp1/algorithms/lsc.cpp b/src/ipa/rkisp1/algorithms/lsc.cpp
> index 44245caa705e..102535bd11a4 100644
> --- a/src/ipa/rkisp1/algorithms/lsc.cpp
> +++ b/src/ipa/rkisp1/algorithms/lsc.cpp
> @@ -89,7 +89,6 @@ static std::vector<uint16_t> parseTable(const YamlObject &tuningData,
>  }
>
>  LensShadingCorrection::LensShadingCorrection()
> -	: initialized_(false)
>  {
>  }
>
> @@ -114,8 +113,6 @@ int LensShadingCorrection::init([[maybe_unused]] IPAContext &context,
>  	    gbData_.empty() || bData_.empty())
>  		return -EINVAL;
>
> -	initialized_ = true;
> -
>  	return 0;
>  }
>
> @@ -125,7 +122,7 @@ int LensShadingCorrection::init([[maybe_unused]] IPAContext &context,
>  int LensShadingCorrection::configure(IPAContext &context,
>  				     [[maybe_unused]] const IPACameraSensorInfo &configInfo)
>  {
> -	context.configuration.lsc.enabled = initialized_;
> +	context.configuration.lsc.enabled = true;
>  	return 0;
>  }
>
> @@ -139,9 +136,6 @@ void LensShadingCorrection::prepare(IPAContext &context, const uint32_t frame,
>  	if (frame > 0)
>  		return;
>
> -	if (!initialized_)
> -		return;
> -
>  	struct rkisp1_cif_isp_lsc_config &config = params->others.lsc_config;
>  	const Size &size = context.configuration.sensor.size;
>  	Size totalSize{};
> diff --git a/src/ipa/rkisp1/algorithms/lsc.h b/src/ipa/rkisp1/algorithms/lsc.h
> index da957d3e3103..6c052669d80f 100644
> --- a/src/ipa/rkisp1/algorithms/lsc.h
> +++ b/src/ipa/rkisp1/algorithms/lsc.h
> @@ -26,8 +26,6 @@ public:
>  		     rkisp1_params_cfg *params) override;
>
>  private:
> -	bool initialized_;
> -
>  	std::vector<uint16_t> rData_;
>  	std::vector<uint16_t> grData_;
>  	std::vector<uint16_t> gbData_;
> --
> Regards,
>
> Laurent Pinchart
>


More information about the libcamera-devel mailing list