[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