[libcamera-devel] [PATCH v4 02/32] ipa: ipu3: af: Pass context reference to afIsOutOfFocus()

Kieran Bingham kieran.bingham at ideasonboard.com
Tue Sep 20 15:21:46 CEST 2022


Quoting Laurent Pinchart via libcamera-devel (2022-09-08 02:41:30)
> Avoid copying the whole IPA context by passing a reference to the
> Af::afIsOutOfFocus() function.

We need to disable/delete the implicit copy constructor of the IPA
context...

Is that something you have already?

Reviewed-by: Kieran Bingham <kieran.bingham at ideasonboard.com>

> Signed-off-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
> ---
>  src/ipa/ipu3/algorithms/af.cpp | 2 +-
>  src/ipa/ipu3/algorithms/af.h   | 2 +-
>  2 files changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/src/ipa/ipu3/algorithms/af.cpp b/src/ipa/ipu3/algorithms/af.cpp
> index 106a7614e2c7..9127c24f1287 100644
> --- a/src/ipa/ipu3/algorithms/af.cpp
> +++ b/src/ipa/ipu3/algorithms/af.cpp
> @@ -383,7 +383,7 @@ double Af::afEstimateVariance(Span<const y_table_item_t> y_items, bool isY1)
>   * \return True if the variance threshold is crossed indicating lost focus,
>   * false otherwise
>   */
> -bool Af::afIsOutOfFocus(IPAContext context)
> +bool Af::afIsOutOfFocus(IPAContext &context)
>  {
>         const uint32_t diff_var = std::abs(currentVariance_ -
>                                            context.activeState.af.maxVariance);
> diff --git a/src/ipa/ipu3/algorithms/af.h b/src/ipa/ipu3/algorithms/af.h
> index ccf015f3f8f5..9b93594898bb 100644
> --- a/src/ipa/ipu3/algorithms/af.h
> +++ b/src/ipa/ipu3/algorithms/af.h
> @@ -44,7 +44,7 @@ private:
>         void afIgnoreFrameReset();
>         double afEstimateVariance(Span<const y_table_item_t> y_items, bool isY1);
>  
> -       bool afIsOutOfFocus(IPAContext context);
> +       bool afIsOutOfFocus(IPAContext &context);
>  
>         /* VCM step configuration. It is the current setting of the VCM step. */
>         uint32_t focus_;
> -- 
> Regards,
> 
> Laurent Pinchart
>


More information about the libcamera-devel mailing list