[libcamera-devel] [PATCH v1] ipa: ipu3: af: A not initialized frame ignore counter fixing

Kate Hsuan hpa at redhat.com
Wed Apr 13 10:39:58 CEST 2022


Hi Kieran,

On Wed, Apr 13, 2022 at 4:10 PM Kieran Bingham
<kieran.bingham at ideasonboard.com> wrote:
>
> Quoting Kate Hsuan via libcamera-devel (2022-04-13 08:43:53)
> > A not initialized frame ignore counter (ignoreCounter_) makes the AF
> > function not work since the ignore counter may start from a random
> > negative number. The counter was set to kIgnoreFrame when AF is in
> > prepare stage.
> >
> > Signed-off-by: Kate Hsuan<hpa at redhat.com>
> > ---
> >  src/ipa/ipu3/algorithms/af.cpp | 3 +++
> >  1 file changed, 3 insertions(+)
> >
> > diff --git a/src/ipa/ipu3/algorithms/af.cpp b/src/ipa/ipu3/algorithms/af.cpp
> > index addf98af..f700b01f 100644
> > --- a/src/ipa/ipu3/algorithms/af.cpp
> > +++ b/src/ipa/ipu3/algorithms/af.cpp
> > @@ -181,6 +181,9 @@ int Af::configure(IPAContext &context, const IPAConfigInfo &configInfo)
> >         /* Initial max focus step */
> >         maxStep_ = kMaxFocusSteps;
> >
> > +       /* Initial frame ignore counter */
> > +       afIgnoreFrameReset();
> > +
>
> Should this be handled by the constructor at all? (I suspect it doesn't
> need to if the data is not accessed before the algorithm is running) Or
> is there any requirement to reset the counter when a stream off, stream
> on cycle occurs (without a reconfigure in between?)

Those places are good to initialize the counter. We only have to make
sure the counter will not be a negative number.
For stream on, the counter could be reset since it makes more time to
stable the image status, such as AE and AWB.

Thank you :)
>
> Assuming those are fine...
>
>
> Reviewed-by: Kieran Bingham <kieran.bingham at ideasonboard.com>
>
>
> >         /* Initial focus value */
> >         context.frameContext.af.focus = 0;
> >         /* Maximum variance of the AF statistics */
> > --
> > 2.35.1
> >
>


-- 
BR,
Kate



More information about the libcamera-devel mailing list