[libcamera-devel] [PATCH] ipa: rkisp1: Remove initialized_ flags from algorithms
Kieran Bingham
kieran.bingham at ideasonboard.com
Fri Sep 30 12:11:08 CEST 2022
Quoting Laurent Pinchart via libcamera-devel (2022-09-30 02:55:47)
> 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.
Good, I'd spotted this too and it bugged me ;-)
Reviewed-by: Kieran Bingham <kieran.bingham at ideasonboard.com>
> Signed-off-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
> ---
> 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