[libcamera-devel] [PATCH v4 17/32] ipa: Rename IPAFrameContext structures

Jacopo Mondi jacopo at jmondi.org
Wed Sep 21 20:39:01 CEST 2022


On Thu, Sep 08, 2022 at 04:41:45AM +0300, Laurent Pinchart via libcamera-devel wrote:
> From: Kieran Bingham <kieran.bingham at ideasonboard.com>
>
> Rename the IPAFrameContext structures in the IPU3 and RkISP1 IPA modules
> to IPU3FrameContext and RkISP1FrameContext respectively, to avoid
> ambiguities.
>
> Signed-off-by: Kieran Bingham <kieran.bingham at ideasonboard.com>

$ git grep IPAFra* src/ipa/ipu3/
src/ipa/ipu3/ipu3-ipa-design-guide.rst:        FC: IPAFrameContext(s)
src/ipa/ipu3/ipu3-ipa-design-guide.rst:The ``IPAFrameContext`` structure may be extended to an array, list, or
src/ipa/ipu3/ipu3-ipa-design-guide.rst:Presently there is a single ``IPAFrameContext`` without historical data,

Maybe the guide needs to be updated too.

That apart
Reviewed-by: Jacopo Mondi <jacopo at jmondi.org>

Thanks
  j

> ---
>  src/ipa/ipu3/algorithms/af.cpp           |  4 ++--
>  src/ipa/ipu3/algorithms/af.h             |  4 ++--
>  src/ipa/ipu3/algorithms/agc.cpp          |  4 ++--
>  src/ipa/ipu3/algorithms/agc.h            |  4 ++--
>  src/ipa/ipu3/algorithms/awb.cpp          |  4 ++--
>  src/ipa/ipu3/algorithms/awb.h            |  4 ++--
>  src/ipa/ipu3/algorithms/blc.cpp          |  2 +-
>  src/ipa/ipu3/algorithms/blc.h            |  2 +-
>  src/ipa/ipu3/algorithms/tone_mapping.cpp |  4 ++--
>  src/ipa/ipu3/algorithms/tone_mapping.h   |  4 ++--
>  src/ipa/ipu3/ipa_context.cpp             | 10 +++++-----
>  src/ipa/ipu3/ipa_context.h               |  4 ++--
>  src/ipa/ipu3/ipu3.cpp                    |  6 +++---
>  src/ipa/ipu3/module.h                    |  2 +-
>  src/ipa/rkisp1/algorithms/agc.cpp        |  4 ++--
>  src/ipa/rkisp1/algorithms/agc.h          |  4 ++--
>  src/ipa/rkisp1/algorithms/awb.cpp        |  6 +++---
>  src/ipa/rkisp1/algorithms/awb.h          |  6 +++---
>  src/ipa/rkisp1/algorithms/blc.cpp        |  2 +-
>  src/ipa/rkisp1/algorithms/blc.h          |  2 +-
>  src/ipa/rkisp1/algorithms/cproc.cpp      |  4 ++--
>  src/ipa/rkisp1/algorithms/cproc.h        |  4 ++--
>  src/ipa/rkisp1/algorithms/dpcc.cpp       |  2 +-
>  src/ipa/rkisp1/algorithms/dpcc.h         |  2 +-
>  src/ipa/rkisp1/algorithms/dpf.cpp        |  4 ++--
>  src/ipa/rkisp1/algorithms/dpf.h          |  4 ++--
>  src/ipa/rkisp1/algorithms/filter.cpp     |  4 ++--
>  src/ipa/rkisp1/algorithms/filter.h       |  4 ++--
>  src/ipa/rkisp1/algorithms/gsl.cpp        |  2 +-
>  src/ipa/rkisp1/algorithms/gsl.h          |  2 +-
>  src/ipa/rkisp1/algorithms/lsc.cpp        |  2 +-
>  src/ipa/rkisp1/algorithms/lsc.h          |  2 +-
>  src/ipa/rkisp1/ipa_context.cpp           |  2 +-
>  src/ipa/rkisp1/ipa_context.h             |  4 ++--
>  src/ipa/rkisp1/module.h                  |  2 +-
>  src/ipa/rkisp1/rkisp1.cpp                |  6 +++---
>  36 files changed, 66 insertions(+), 66 deletions(-)
>
> diff --git a/src/ipa/ipu3/algorithms/af.cpp b/src/ipa/ipu3/algorithms/af.cpp
> index b00a34f9e090..0370619fb0d7 100644
> --- a/src/ipa/ipu3/algorithms/af.cpp
> +++ b/src/ipa/ipu3/algorithms/af.cpp
> @@ -118,7 +118,7 @@ Af::Af()
>   */
>  void Af::prepare(IPAContext &context,
>  		 [[maybe_unused]] const uint32_t frame,
> -		 [[maybe_unused]] IPAFrameContext &frameContext,
> +		 [[maybe_unused]] IPU3FrameContext &frameContext,
>  		 ipu3_uapi_params *params)
>  {
>  	const struct ipu3_uapi_grid_config &grid = context.configuration.af.afGrid;
> @@ -422,7 +422,7 @@ bool Af::afIsOutOfFocus(IPAContext &context)
>   * [1] Hill Climbing Algorithm, https://en.wikipedia.org/wiki/Hill_climbing
>   */
>  void Af::process(IPAContext &context, [[maybe_unused]] const uint32_t frame,
> -		 [[maybe_unused]] IPAFrameContext &frameContext,
> +		 [[maybe_unused]] IPU3FrameContext &frameContext,
>  		 const ipu3_uapi_stats_3a *stats)
>  {
>  	/* Evaluate the AF buffer length */
> diff --git a/src/ipa/ipu3/algorithms/af.h b/src/ipa/ipu3/algorithms/af.h
> index 89d37ac18615..4727221b595a 100644
> --- a/src/ipa/ipu3/algorithms/af.h
> +++ b/src/ipa/ipu3/algorithms/af.h
> @@ -32,10 +32,10 @@ public:
>
>  	int configure(IPAContext &context, const IPAConfigInfo &configInfo) override;
>  	void prepare(IPAContext &context, const uint32_t frame,
> -		     IPAFrameContext &frameContext,
> +		     IPU3FrameContext &frameContext,
>  		     ipu3_uapi_params *params) override;
>  	void process(IPAContext &context, const uint32_t frame,
> -		     IPAFrameContext &frameContext,
> +		     IPU3FrameContext &frameContext,
>  		     const ipu3_uapi_stats_3a *stats) override;
>
>  private:
> diff --git a/src/ipa/ipu3/algorithms/agc.cpp b/src/ipa/ipu3/algorithms/agc.cpp
> index a1a3c38ffe84..fc5810218a4a 100644
> --- a/src/ipa/ipu3/algorithms/agc.cpp
> +++ b/src/ipa/ipu3/algorithms/agc.cpp
> @@ -183,7 +183,7 @@ utils::Duration Agc::filterExposure(utils::Duration exposureValue)
>   * \param[in] yGain The gain calculated based on the relative luminance target
>   * \param[in] iqMeanGain The gain calculated based on the relative luminance target
>   */
> -void Agc::computeExposure(IPAContext &context, IPAFrameContext &frameContext,
> +void Agc::computeExposure(IPAContext &context, IPU3FrameContext &frameContext,
>  			  double yGain, double iqMeanGain)
>  {
>  	const IPASessionConfiguration &configuration = context.configuration;
> @@ -325,7 +325,7 @@ double Agc::estimateLuminance(IPAActiveState &activeState,
>   * new exposure and gain for the scene.
>   */
>  void Agc::process(IPAContext &context, [[maybe_unused]] const uint32_t frame,
> -		  IPAFrameContext &frameContext,
> +		  IPU3FrameContext &frameContext,
>  		  const ipu3_uapi_stats_3a *stats)
>  {
>  	/*
> diff --git a/src/ipa/ipu3/algorithms/agc.h b/src/ipa/ipu3/algorithms/agc.h
> index 59b4b9843c2f..726c9d905026 100644
> --- a/src/ipa/ipu3/algorithms/agc.h
> +++ b/src/ipa/ipu3/algorithms/agc.h
> @@ -29,14 +29,14 @@ public:
>
>  	int configure(IPAContext &context, const IPAConfigInfo &configInfo) override;
>  	void process(IPAContext &context, const uint32_t frame,
> -		     IPAFrameContext &frameContext,
> +		     IPU3FrameContext &frameContext,
>  		     const ipu3_uapi_stats_3a *stats) override;
>
>  private:
>  	double measureBrightness(const ipu3_uapi_stats_3a *stats,
>  				 const ipu3_uapi_grid_config &grid) const;
>  	utils::Duration filterExposure(utils::Duration currentExposure);
> -	void computeExposure(IPAContext &context, IPAFrameContext &frameContext,
> +	void computeExposure(IPAContext &context, IPU3FrameContext &frameContext,
>  			     double yGain, double iqMeanGain);
>  	double estimateLuminance(IPAActiveState &activeState,
>  				 const ipu3_uapi_grid_config &grid,
> diff --git a/src/ipa/ipu3/algorithms/awb.cpp b/src/ipa/ipu3/algorithms/awb.cpp
> index 0dbd7d4c374f..289e9a05f08a 100644
> --- a/src/ipa/ipu3/algorithms/awb.cpp
> +++ b/src/ipa/ipu3/algorithms/awb.cpp
> @@ -388,7 +388,7 @@ void Awb::calculateWBGains(const ipu3_uapi_stats_3a *stats)
>   * \copydoc libcamera::ipa::Algorithm::process
>   */
>  void Awb::process(IPAContext &context, [[maybe_unused]] const uint32_t frame,
> -		  [[maybe_unused]] IPAFrameContext &frameContext,
> +		  [[maybe_unused]] IPU3FrameContext &frameContext,
>  		  const ipu3_uapi_stats_3a *stats)
>  {
>  	calculateWBGains(stats);
> @@ -432,7 +432,7 @@ constexpr uint16_t Awb::gainValue(double gain)
>   */
>  void Awb::prepare(IPAContext &context,
>  		  [[maybe_unused]] const uint32_t frame,
> -		  [[maybe_unused]] IPAFrameContext &frameContext,
> +		  [[maybe_unused]] IPU3FrameContext &frameContext,
>  		  ipu3_uapi_params *params)
>  {
>  	/*
> diff --git a/src/ipa/ipu3/algorithms/awb.h b/src/ipa/ipu3/algorithms/awb.h
> index 28e2d38a711c..6662aa6ffe04 100644
> --- a/src/ipa/ipu3/algorithms/awb.h
> +++ b/src/ipa/ipu3/algorithms/awb.h
> @@ -40,10 +40,10 @@ public:
>
>  	int configure(IPAContext &context, const IPAConfigInfo &configInfo) override;
>  	void prepare(IPAContext &context, const uint32_t frame,
> -		     IPAFrameContext &frameContext,
> +		     IPU3FrameContext &frameContext,
>  		     ipu3_uapi_params *params) override;
>  	void process(IPAContext &context, const uint32_t frame,
> -		     IPAFrameContext &frameContext,
> +		     IPU3FrameContext &frameContext,
>  		     const ipu3_uapi_stats_3a *stats) override;
>
>  private:
> diff --git a/src/ipa/ipu3/algorithms/blc.cpp b/src/ipa/ipu3/algorithms/blc.cpp
> index e838072a344c..ca03b280b66c 100644
> --- a/src/ipa/ipu3/algorithms/blc.cpp
> +++ b/src/ipa/ipu3/algorithms/blc.cpp
> @@ -48,7 +48,7 @@ BlackLevelCorrection::BlackLevelCorrection()
>   */
>  void BlackLevelCorrection::prepare([[maybe_unused]] IPAContext &context,
>  				   [[maybe_unused]] const uint32_t frame,
> -				   [[maybe_unused]] IPAFrameContext &frameContext,
> +				   [[maybe_unused]] IPU3FrameContext &frameContext,
>  				   ipu3_uapi_params *params)
>  {
>  	/*
> diff --git a/src/ipa/ipu3/algorithms/blc.h b/src/ipa/ipu3/algorithms/blc.h
> index 292bf67b02ff..b7cc55909e71 100644
> --- a/src/ipa/ipu3/algorithms/blc.h
> +++ b/src/ipa/ipu3/algorithms/blc.h
> @@ -19,7 +19,7 @@ public:
>  	BlackLevelCorrection();
>
>  	void prepare(IPAContext &context, const uint32_t frame,
> -		     IPAFrameContext &frameContext,
> +		     IPU3FrameContext &frameContext,
>  		     ipu3_uapi_params *params) override;
>  };
>
> diff --git a/src/ipa/ipu3/algorithms/tone_mapping.cpp b/src/ipa/ipu3/algorithms/tone_mapping.cpp
> index eac3d4064443..a8bd05d935cf 100644
> --- a/src/ipa/ipu3/algorithms/tone_mapping.cpp
> +++ b/src/ipa/ipu3/algorithms/tone_mapping.cpp
> @@ -59,7 +59,7 @@ int ToneMapping::configure(IPAContext &context,
>   */
>  void ToneMapping::prepare([[maybe_unused]] IPAContext &context,
>  			  [[maybe_unused]] const uint32_t frame,
> -			  [[maybe_unused]] IPAFrameContext &frameContext,
> +			  [[maybe_unused]] IPU3FrameContext &frameContext,
>  			  ipu3_uapi_params *params)
>  {
>  	/* Copy the calculated LUT into the parameters buffer. */
> @@ -84,7 +84,7 @@ void ToneMapping::prepare([[maybe_unused]] IPAContext &context,
>   * our gamma setting.
>   */
>  void ToneMapping::process(IPAContext &context, [[maybe_unused]] const uint32_t frame,
> -			  [[maybe_unused]] IPAFrameContext &frameContext,
> +			  [[maybe_unused]] IPU3FrameContext &frameContext,
>  			  [[maybe_unused]] const ipu3_uapi_stats_3a *stats)
>  {
>  	/*
> diff --git a/src/ipa/ipu3/algorithms/tone_mapping.h b/src/ipa/ipu3/algorithms/tone_mapping.h
> index 822e5168df82..e8d7f593d513 100644
> --- a/src/ipa/ipu3/algorithms/tone_mapping.h
> +++ b/src/ipa/ipu3/algorithms/tone_mapping.h
> @@ -20,9 +20,9 @@ public:
>
>  	int configure(IPAContext &context, const IPAConfigInfo &configInfo) override;
>  	void prepare(IPAContext &context, const uint32_t frame,
> -		     IPAFrameContext &frameContext, ipu3_uapi_params *params) override;
> +		     IPU3FrameContext &frameContext, ipu3_uapi_params *params) override;
>  	void process(IPAContext &context, const uint32_t frame,
> -		     IPAFrameContext &frameContext,
> +		     IPU3FrameContext &frameContext,
>  		     const ipu3_uapi_stats_3a *stats) override;
>
>  private:
> diff --git a/src/ipa/ipu3/ipa_context.cpp b/src/ipa/ipu3/ipa_context.cpp
> index bd71b615365d..89cb87c66d9f 100644
> --- a/src/ipa/ipu3/ipa_context.cpp
> +++ b/src/ipa/ipu3/ipa_context.cpp
> @@ -43,7 +43,7 @@ namespace libcamera::ipa::ipu3 {
>   * \brief The IPA session configuration, immutable during the session
>   *
>   * \var IPAContext::frameContexts
> - * \brief Ring buffer of the IPAFrameContext(s)
> + * \brief Ring buffer of the IPU3FrameContext(s)
>   *
>   * \var IPAContext::activeState
>   * \brief The current state of IPA algorithms
> @@ -165,16 +165,16 @@ namespace libcamera::ipa::ipu3 {
>   */
>
>  /**
> - * \struct IPAFrameContext
> + * \struct IPU3FrameContext
>   * \brief IPU3-specific FrameContext
>   *
> - * \var IPAFrameContext::sensor
> + * \var IPU3FrameContext::sensor
>   * \brief Effective sensor values that were applied for the frame
>   *
> - * \var IPAFrameContext::sensor.exposure
> + * \var IPU3FrameContext::sensor.exposure
>   * \brief Exposure time expressed as a number of lines
>   *
> - * \var IPAFrameContext::sensor.gain
> + * \var IPU3FrameContext::sensor.gain
>   * \brief Analogue gain multiplier
>   */
>
> diff --git a/src/ipa/ipu3/ipa_context.h b/src/ipa/ipu3/ipa_context.h
> index 36099353e9f2..b8a7ad24a032 100644
> --- a/src/ipa/ipu3/ipa_context.h
> +++ b/src/ipa/ipu3/ipa_context.h
> @@ -72,7 +72,7 @@ struct IPAActiveState {
>  	} toneMapping;
>  };
>
> -struct IPAFrameContext : public FrameContext {
> +struct IPU3FrameContext : public FrameContext {
>  	struct {
>  		uint32_t exposure;
>  		double gain;
> @@ -83,7 +83,7 @@ struct IPAContext {
>  	IPASessionConfiguration configuration;
>  	IPAActiveState activeState;
>
> -	FCQueue<IPAFrameContext> frameContexts;
> +	FCQueue<IPU3FrameContext> frameContexts;
>  };
>
>  } /* namespace ipa::ipu3 */
> diff --git a/src/ipa/ipu3/ipu3.cpp b/src/ipa/ipu3/ipu3.cpp
> index 844ab6de03c7..d850aa46bc28 100644
> --- a/src/ipa/ipu3/ipu3.cpp
> +++ b/src/ipa/ipu3/ipu3.cpp
> @@ -585,7 +585,7 @@ void IPAIPU3::fillParamsBuffer(const uint32_t frame, const uint32_t bufferId)
>  	 */
>  	params->use = {};
>
> -	IPAFrameContext &frameContext = context_.frameContexts.get(frame);
> +	IPU3FrameContext &frameContext = context_.frameContexts.get(frame);
>
>  	for (auto const &algo : algorithms())
>  		algo->prepare(context_, frame, frameContext, params);
> @@ -618,7 +618,7 @@ void IPAIPU3::processStatsBuffer(const uint32_t frame,
>  	const ipu3_uapi_stats_3a *stats =
>  		reinterpret_cast<ipu3_uapi_stats_3a *>(mem.data());
>
> -	IPAFrameContext &frameContext = context_.frameContexts.get(frame);
> +	IPU3FrameContext &frameContext = context_.frameContexts.get(frame);
>
>  	frameContext.sensor.exposure = sensorControls.get(V4L2_CID_EXPOSURE).get<int32_t>();
>  	frameContext.sensor.gain = camHelper_->gain(sensorControls.get(V4L2_CID_ANALOGUE_GAIN).get<int32_t>());
> @@ -664,7 +664,7 @@ void IPAIPU3::processStatsBuffer(const uint32_t frame,
>  void IPAIPU3::queueRequest(const uint32_t frame, const ControlList &controls)
>  {
>  	/* \todo Start processing for 'frame' based on 'controls'. */
> -	IPAFrameContext &frameContext = context_.frameContexts.init(frame);
> +	IPU3FrameContext &frameContext = context_.frameContexts.init(frame);
>
>  	for (auto const &algo : algorithms())
>  		algo->queueRequest(context_, frame, frameContext, controls);
> diff --git a/src/ipa/ipu3/module.h b/src/ipa/ipu3/module.h
> index d94fc4594871..6d0d50f615d8 100644
> --- a/src/ipa/ipu3/module.h
> +++ b/src/ipa/ipu3/module.h
> @@ -19,7 +19,7 @@ namespace libcamera {
>
>  namespace ipa::ipu3 {
>
> -using Module = ipa::Module<IPAContext, IPAFrameContext, IPAConfigInfo,
> +using Module = ipa::Module<IPAContext, IPU3FrameContext, IPAConfigInfo,
>  			   ipu3_uapi_params, ipu3_uapi_stats_3a>;
>
>  } /* namespace ipa::ipu3 */
> diff --git a/src/ipa/rkisp1/algorithms/agc.cpp b/src/ipa/rkisp1/algorithms/agc.cpp
> index 606f13e776a3..e9fab0222ac3 100644
> --- a/src/ipa/rkisp1/algorithms/agc.cpp
> +++ b/src/ipa/rkisp1/algorithms/agc.cpp
> @@ -285,7 +285,7 @@ double Agc::measureBrightness(const rkisp1_cif_isp_hist_stat *hist) const
>   * new exposure and gain for the scene.
>   */
>  void Agc::process(IPAContext &context, [[maybe_unused]] const uint32_t frame,
> -		  [[maybe_unused]] IPAFrameContext &frameContext,
> +		  [[maybe_unused]] RkISP1FrameContext &frameContext,
>  		  const rkisp1_stat_buffer *stats)
>  {
>  	const rkisp1_cif_isp_stat *params = &stats->params;
> @@ -328,7 +328,7 @@ void Agc::process(IPAContext &context, [[maybe_unused]] const uint32_t frame,
>   */
>  void Agc::prepare(IPAContext &context,
>  		  [[maybe_unused]] const uint32_t frame,
> -		  [[maybe_unused]] IPAFrameContext &frameContext,
> +		  [[maybe_unused]] RkISP1FrameContext &frameContext,
>  		  rkisp1_params_cfg *params)
>  {
>  	if (context.activeState.frameCount > 0)
> diff --git a/src/ipa/rkisp1/algorithms/agc.h b/src/ipa/rkisp1/algorithms/agc.h
> index f115ba2ed85c..be8932040c8e 100644
> --- a/src/ipa/rkisp1/algorithms/agc.h
> +++ b/src/ipa/rkisp1/algorithms/agc.h
> @@ -27,10 +27,10 @@ public:
>
>  	int configure(IPAContext &context, const IPACameraSensorInfo &configInfo) override;
>  	void prepare(IPAContext &context, const uint32_t frame,
> -		     IPAFrameContext &frameContext,
> +		     RkISP1FrameContext &frameContext,
>  		     rkisp1_params_cfg *params) override;
>  	void process(IPAContext &context, const uint32_t frame,
> -		     IPAFrameContext &frameContext,
> +		     RkISP1FrameContext &frameContext,
>  		     const rkisp1_stat_buffer *stats) override;
>
>  private:
> diff --git a/src/ipa/rkisp1/algorithms/awb.cpp b/src/ipa/rkisp1/algorithms/awb.cpp
> index 2bd9ef779bc3..d3e9aa5334cf 100644
> --- a/src/ipa/rkisp1/algorithms/awb.cpp
> +++ b/src/ipa/rkisp1/algorithms/awb.cpp
> @@ -76,7 +76,7 @@ uint32_t Awb::estimateCCT(double red, double green, double blue)
>   */
>  void Awb::prepare(IPAContext &context,
>  		  [[maybe_unused]] const uint32_t frame,
> -		  [[maybe_unused]] IPAFrameContext &frameContext,
> +		  [[maybe_unused]] RkISP1FrameContext &frameContext,
>  		  rkisp1_params_cfg *params)
>  {
>  	params->others.awb_gain_config.gain_green_b = 256 * context.activeState.awb.gains.green;
> @@ -128,7 +128,7 @@ void Awb::prepare(IPAContext &context,
>   */
>  void Awb::queueRequest(IPAContext &context,
>  		       [[maybe_unused]] const uint32_t frame,
> -		       [[maybe_unused]] IPAFrameContext &frameContext,
> +		       [[maybe_unused]] RkISP1FrameContext &frameContext,
>  		       const ControlList &controls)
>  {
>  	auto &awb = context.activeState.awb;
> @@ -157,7 +157,7 @@ void Awb::queueRequest(IPAContext &context,
>   */
>  void Awb::process([[maybe_unused]] IPAContext &context,
>  		  [[maybe_unused]] const uint32_t frame,
> -		  [[maybe_unused]] IPAFrameContext &frameCtx,
> +		  [[maybe_unused]] RkISP1FrameContext &frameCtx,
>  		  const rkisp1_stat_buffer *stats)
>  {
>  	const rkisp1_cif_isp_stat *params = &stats->params;
> diff --git a/src/ipa/rkisp1/algorithms/awb.h b/src/ipa/rkisp1/algorithms/awb.h
> index 6d4a39467038..9fd156d8aff9 100644
> --- a/src/ipa/rkisp1/algorithms/awb.h
> +++ b/src/ipa/rkisp1/algorithms/awb.h
> @@ -21,13 +21,13 @@ public:
>
>  	int configure(IPAContext &context, const IPACameraSensorInfo &configInfo) override;
>  	void prepare(IPAContext &context, const uint32_t frame,
> -		     IPAFrameContext &frameContext,
> +		     RkISP1FrameContext &frameContext,
>  		     rkisp1_params_cfg *params) override;
>  	void queueRequest(IPAContext &context, const uint32_t frame,
> -			  IPAFrameContext &frameContext,
> +			  RkISP1FrameContext &frameContext,
>  			  const ControlList &controls) override;
>  	void process(IPAContext &context, const uint32_t frame,
> -		     IPAFrameContext &frameCtx,
> +		     RkISP1FrameContext &frameCtx,
>  		     const rkisp1_stat_buffer *stats) override;
>
>  private:
> diff --git a/src/ipa/rkisp1/algorithms/blc.cpp b/src/ipa/rkisp1/algorithms/blc.cpp
> index 0f7226cf217d..c4aea0e828ca 100644
> --- a/src/ipa/rkisp1/algorithms/blc.cpp
> +++ b/src/ipa/rkisp1/algorithms/blc.cpp
> @@ -67,7 +67,7 @@ int BlackLevelCorrection::init([[maybe_unused]] IPAContext &context,
>   */
>  void BlackLevelCorrection::prepare(IPAContext &context,
>  				   [[maybe_unused]] const uint32_t frame,
> -				   [[maybe_unused]] IPAFrameContext &frameContext,
> +				   [[maybe_unused]] RkISP1FrameContext &frameContext,
>  				   rkisp1_params_cfg *params)
>  {
>  	if (context.activeState.frameCount > 0)
> diff --git a/src/ipa/rkisp1/algorithms/blc.h b/src/ipa/rkisp1/algorithms/blc.h
> index 0b1a2d436869..e57c8c7a95c5 100644
> --- a/src/ipa/rkisp1/algorithms/blc.h
> +++ b/src/ipa/rkisp1/algorithms/blc.h
> @@ -21,7 +21,7 @@ public:
>
>  	int init(IPAContext &context, const YamlObject &tuningData) override;
>  	void prepare(IPAContext &context, const uint32_t frame,
> -		     IPAFrameContext &frameContext,
> +		     RkISP1FrameContext &frameContext,
>  		     rkisp1_params_cfg *params) override;
>
>  private:
> diff --git a/src/ipa/rkisp1/algorithms/cproc.cpp b/src/ipa/rkisp1/algorithms/cproc.cpp
> index ea819b2acfcb..22a70e0b70c7 100644
> --- a/src/ipa/rkisp1/algorithms/cproc.cpp
> +++ b/src/ipa/rkisp1/algorithms/cproc.cpp
> @@ -38,7 +38,7 @@ LOG_DEFINE_CATEGORY(RkISP1CProc)
>   */
>  void ColorProcessing::queueRequest(IPAContext &context,
>  				   [[maybe_unused]] const uint32_t frame,
> -				   [[maybe_unused]] IPAFrameContext &frameContext,
> +				   [[maybe_unused]] RkISP1FrameContext &frameContext,
>  				   const ControlList &controls)
>  {
>  	auto &cproc = context.activeState.cproc;
> @@ -73,7 +73,7 @@ void ColorProcessing::queueRequest(IPAContext &context,
>   */
>  void ColorProcessing::prepare(IPAContext &context,
>  			      [[maybe_unused]] const uint32_t frame,
> -			      [[maybe_unused]] IPAFrameContext &frameContext,
> +			      [[maybe_unused]] RkISP1FrameContext &frameContext,
>  			      rkisp1_params_cfg *params)
>  {
>  	auto &cproc = context.activeState.cproc;
> diff --git a/src/ipa/rkisp1/algorithms/cproc.h b/src/ipa/rkisp1/algorithms/cproc.h
> index ba6e901ae110..4e9a17a58800 100644
> --- a/src/ipa/rkisp1/algorithms/cproc.h
> +++ b/src/ipa/rkisp1/algorithms/cproc.h
> @@ -22,10 +22,10 @@ public:
>  	~ColorProcessing() = default;
>
>  	void queueRequest(IPAContext &context, const uint32_t frame,
> -			  IPAFrameContext &frameContext,
> +			  RkISP1FrameContext &frameContext,
>  			  const ControlList &controls) override;
>  	void prepare(IPAContext &context, const uint32_t frame,
> -		     IPAFrameContext &frameContext,
> +		     RkISP1FrameContext &frameContext,
>  		     rkisp1_params_cfg *params) override;
>  };
>
> diff --git a/src/ipa/rkisp1/algorithms/dpcc.cpp b/src/ipa/rkisp1/algorithms/dpcc.cpp
> index 7c14ace0abee..b61eee022a68 100644
> --- a/src/ipa/rkisp1/algorithms/dpcc.cpp
> +++ b/src/ipa/rkisp1/algorithms/dpcc.cpp
> @@ -260,7 +260,7 @@ int DefectPixelClusterCorrection::init([[maybe_unused]] IPAContext &context,
>   */
>  void DefectPixelClusterCorrection::prepare(IPAContext &context,
>  					   [[maybe_unused]] const uint32_t frame,
> -					   [[maybe_unused]] IPAFrameContext &frameContext,
> +					   [[maybe_unused]] RkISP1FrameContext &frameContext,
>  					   rkisp1_params_cfg *params)
>  {
>  	if (context.activeState.frameCount > 0)
> diff --git a/src/ipa/rkisp1/algorithms/dpcc.h b/src/ipa/rkisp1/algorithms/dpcc.h
> index 894c0249f35d..4c242e99f8ce 100644
> --- a/src/ipa/rkisp1/algorithms/dpcc.h
> +++ b/src/ipa/rkisp1/algorithms/dpcc.h
> @@ -21,7 +21,7 @@ public:
>
>  	int init(IPAContext &context, const YamlObject &tuningData) override;
>  	void prepare(IPAContext &context, const uint32_t frame,
> -		     IPAFrameContext &frameContext,
> +		     RkISP1FrameContext &frameContext,
>  		     rkisp1_params_cfg *params) override;
>
>  private:
> diff --git a/src/ipa/rkisp1/algorithms/dpf.cpp b/src/ipa/rkisp1/algorithms/dpf.cpp
> index b8c837c21243..8eafbbf85124 100644
> --- a/src/ipa/rkisp1/algorithms/dpf.cpp
> +++ b/src/ipa/rkisp1/algorithms/dpf.cpp
> @@ -176,7 +176,7 @@ int Dpf::init([[maybe_unused]] IPAContext &context,
>   */
>  void Dpf::queueRequest(IPAContext &context,
>  		       [[maybe_unused]] const uint32_t frame,
> -		       [[maybe_unused]] IPAFrameContext &frameContext,
> +		       [[maybe_unused]] RkISP1FrameContext &frameContext,
>  		       const ControlList &controls)
>  {
>  	auto &dpf = context.activeState.dpf;
> @@ -208,7 +208,7 @@ void Dpf::queueRequest(IPAContext &context,
>   * \copydoc libcamera::ipa::Algorithm::prepare
>   */
>  void Dpf::prepare(IPAContext &context, [[maybe_unused]] const uint32_t frame,
> -		  [[maybe_unused]] IPAFrameContext &frameContext,
> +		  [[maybe_unused]] RkISP1FrameContext &frameContext,
>  		  rkisp1_params_cfg *params)
>  {
>  	if (!initialized_)
> diff --git a/src/ipa/rkisp1/algorithms/dpf.h b/src/ipa/rkisp1/algorithms/dpf.h
> index e232cad4ee87..dd465a52ba0a 100644
> --- a/src/ipa/rkisp1/algorithms/dpf.h
> +++ b/src/ipa/rkisp1/algorithms/dpf.h
> @@ -23,10 +23,10 @@ public:
>
>  	int init(IPAContext &context, const YamlObject &tuningData) override;
>  	void queueRequest(IPAContext &context, const uint32_t frame,
> -			  IPAFrameContext &frameContext,
> +			  RkISP1FrameContext &frameContext,
>  			  const ControlList &controls) override;
>  	void prepare(IPAContext &context, const uint32_t frame,
> -		     IPAFrameContext &frameContext,
> +		     RkISP1FrameContext &frameContext,
>  		     rkisp1_params_cfg *params) override;
>
>  private:
> diff --git a/src/ipa/rkisp1/algorithms/filter.cpp b/src/ipa/rkisp1/algorithms/filter.cpp
> index 837560eb20a6..e64bd6a6d68f 100644
> --- a/src/ipa/rkisp1/algorithms/filter.cpp
> +++ b/src/ipa/rkisp1/algorithms/filter.cpp
> @@ -44,7 +44,7 @@ static constexpr uint32_t kFiltModeDefault = 0x000004f2;
>   */
>  void Filter::queueRequest(IPAContext &context,
>  			  [[maybe_unused]] const uint32_t frame,
> -			  [[maybe_unused]] IPAFrameContext &frameContext,
> +			  [[maybe_unused]] RkISP1FrameContext &frameContext,
>  			  const ControlList &controls)
>  {
>  	auto &filter = context.activeState.filter;
> @@ -88,7 +88,7 @@ void Filter::queueRequest(IPAContext &context,
>   */
>  void Filter::prepare(IPAContext &context,
>  		     [[maybe_unused]] const uint32_t frame,
> -		     [[maybe_unused]] IPAFrameContext &frameContext,
> +		     [[maybe_unused]] RkISP1FrameContext &frameContext,
>  		     rkisp1_params_cfg *params)
>  {
>  	auto &filter = context.activeState.filter;
> diff --git a/src/ipa/rkisp1/algorithms/filter.h b/src/ipa/rkisp1/algorithms/filter.h
> index 3fd882ea41dc..c340e824722d 100644
> --- a/src/ipa/rkisp1/algorithms/filter.h
> +++ b/src/ipa/rkisp1/algorithms/filter.h
> @@ -22,10 +22,10 @@ public:
>  	~Filter() = default;
>
>  	void queueRequest(IPAContext &context, const uint32_t frame,
> -			  IPAFrameContext &frameContext,
> +			  RkISP1FrameContext &frameContext,
>  			  const ControlList &controls) override;
>  	void prepare(IPAContext &context, const uint32_t frame,
> -		     IPAFrameContext &frameContext,
> +		     RkISP1FrameContext &frameContext,
>  		     rkisp1_params_cfg *params) override;
>  };
>
> diff --git a/src/ipa/rkisp1/algorithms/gsl.cpp b/src/ipa/rkisp1/algorithms/gsl.cpp
> index 879ca2973e8a..ed3104c98e48 100644
> --- a/src/ipa/rkisp1/algorithms/gsl.cpp
> +++ b/src/ipa/rkisp1/algorithms/gsl.cpp
> @@ -120,7 +120,7 @@ int GammaSensorLinearization::init([[maybe_unused]] IPAContext &context,
>   */
>  void GammaSensorLinearization::prepare(IPAContext &context,
>  				       [[maybe_unused]] const uint32_t frame,
> -				       [[maybe_unused]] IPAFrameContext &frameContext,
> +				       [[maybe_unused]] RkISP1FrameContext &frameContext,
>  				       rkisp1_params_cfg *params)
>  {
>  	if (context.activeState.frameCount > 0)
> diff --git a/src/ipa/rkisp1/algorithms/gsl.h b/src/ipa/rkisp1/algorithms/gsl.h
> index 5024b6835949..5a951f07e56d 100644
> --- a/src/ipa/rkisp1/algorithms/gsl.h
> +++ b/src/ipa/rkisp1/algorithms/gsl.h
> @@ -21,7 +21,7 @@ public:
>
>  	int init(IPAContext &context, const YamlObject &tuningData) override;
>  	void prepare(IPAContext &context, const uint32_t frame,
> -		     IPAFrameContext &frameContext,
> +		     RkISP1FrameContext &frameContext,
>  		     rkisp1_params_cfg *params) override;
>
>  private:
> diff --git a/src/ipa/rkisp1/algorithms/lsc.cpp b/src/ipa/rkisp1/algorithms/lsc.cpp
> index 9c717bc5f99e..ed5b988599b8 100644
> --- a/src/ipa/rkisp1/algorithms/lsc.cpp
> +++ b/src/ipa/rkisp1/algorithms/lsc.cpp
> @@ -134,7 +134,7 @@ int LensShadingCorrection::configure(IPAContext &context,
>   */
>  void LensShadingCorrection::prepare(IPAContext &context,
>  				    [[maybe_unused]] const uint32_t frame,
> -				    [[maybe_unused]] IPAFrameContext &frameContext,
> +				    [[maybe_unused]] RkISP1FrameContext &frameContext,
>  				    rkisp1_params_cfg *params)
>  {
>  	if (context.activeState.frameCount > 0)
> diff --git a/src/ipa/rkisp1/algorithms/lsc.h b/src/ipa/rkisp1/algorithms/lsc.h
> index da957d3e3103..b4f18e565085 100644
> --- a/src/ipa/rkisp1/algorithms/lsc.h
> +++ b/src/ipa/rkisp1/algorithms/lsc.h
> @@ -22,7 +22,7 @@ public:
>  	int init(IPAContext &context, const YamlObject &tuningData) override;
>  	int configure(IPAContext &context, const IPACameraSensorInfo &configInfo) override;
>  	void prepare(IPAContext &context, const uint32_t frame,
> -		     IPAFrameContext &frameContext,
> +		     RkISP1FrameContext &frameContext,
>  		     rkisp1_params_cfg *params) override;
>
>  private:
> diff --git a/src/ipa/rkisp1/ipa_context.cpp b/src/ipa/rkisp1/ipa_context.cpp
> index e9846742ee4f..80fae271a6dc 100644
> --- a/src/ipa/rkisp1/ipa_context.cpp
> +++ b/src/ipa/rkisp1/ipa_context.cpp
> @@ -202,7 +202,7 @@ namespace libcamera::ipa::rkisp1 {
>   */
>
>  /**
> - * \struct IPAFrameContext
> + * \struct RkISP1FrameContext
>   * \brief Per-frame context for algorithms
>   *
>   * \todo Populate the frame context for all algorithms
> diff --git a/src/ipa/rkisp1/ipa_context.h b/src/ipa/rkisp1/ipa_context.h
> index f6aaefffed52..9d89cf0160fc 100644
> --- a/src/ipa/rkisp1/ipa_context.h
> +++ b/src/ipa/rkisp1/ipa_context.h
> @@ -91,14 +91,14 @@ struct IPAActiveState {
>  	unsigned int frameCount;
>  };
>
> -struct IPAFrameContext : public FrameContext {
> +struct RkISP1FrameContext : public FrameContext {
>  };
>
>  struct IPAContext {
>  	IPASessionConfiguration configuration;
>  	IPAActiveState activeState;
>
> -	FCQueue<IPAFrameContext> frameContexts;
> +	FCQueue<RkISP1FrameContext> frameContexts;
>  };
>
>  } /* namespace ipa::rkisp1 */
> diff --git a/src/ipa/rkisp1/module.h b/src/ipa/rkisp1/module.h
> index 89f83208a75c..594d5c9d685a 100644
> --- a/src/ipa/rkisp1/module.h
> +++ b/src/ipa/rkisp1/module.h
> @@ -19,7 +19,7 @@ namespace libcamera {
>
>  namespace ipa::rkisp1 {
>
> -using Module = ipa::Module<IPAContext, IPAFrameContext, IPACameraSensorInfo,
> +using Module = ipa::Module<IPAContext, RkISP1FrameContext, IPACameraSensorInfo,
>  			   rkisp1_params_cfg, rkisp1_stat_buffer>;
>
>  } /* namespace ipa::rkisp1 */
> diff --git a/src/ipa/rkisp1/rkisp1.cpp b/src/ipa/rkisp1/rkisp1.cpp
> index c5ed0bb21f67..538401ac89ac 100644
> --- a/src/ipa/rkisp1/rkisp1.cpp
> +++ b/src/ipa/rkisp1/rkisp1.cpp
> @@ -304,7 +304,7 @@ void IPARkISP1::unmapBuffers(const std::vector<unsigned int> &ids)
>
>  void IPARkISP1::queueRequest(const uint32_t frame, const ControlList &controls)
>  {
> -	IPAFrameContext &frameContext = context_.frameContexts.init(frame);
> +	RkISP1FrameContext &frameContext = context_.frameContexts.init(frame);
>
>  	for (auto const &algo : algorithms())
>  		algo->queueRequest(context_, frame, frameContext, controls);
> @@ -312,7 +312,7 @@ void IPARkISP1::queueRequest(const uint32_t frame, const ControlList &controls)
>
>  void IPARkISP1::fillParamsBuffer(const uint32_t frame, const uint32_t bufferId)
>  {
> -	IPAFrameContext &frameContext = context_.frameContexts.get(frame);
> +	RkISP1FrameContext &frameContext = context_.frameContexts.get(frame);
>
>  	rkisp1_params_cfg *params =
>  		reinterpret_cast<rkisp1_params_cfg *>(
> @@ -331,7 +331,7 @@ void IPARkISP1::fillParamsBuffer(const uint32_t frame, const uint32_t bufferId)
>  void IPARkISP1::processStatsBuffer(const uint32_t frame, const uint32_t bufferId,
>  				   const ControlList &sensorControls)
>  {
> -	IPAFrameContext &frameContext = context_.frameContexts.get(frame);
> +	RkISP1FrameContext &frameContext = context_.frameContexts.get(frame);
>
>  	const rkisp1_stat_buffer *stats =
>  		reinterpret_cast<rkisp1_stat_buffer *>(
> --
> Regards,
>
> Laurent Pinchart
>


More information about the libcamera-devel mailing list