[libcamera-devel] [PATCH] ipa: rpi: Avoid skipping IPAs on the first frame after the drop frames

Kieran Bingham kieran.bingham at ideasonboard.com
Thu Oct 5 18:00:21 CEST 2023


Quoting Naushir Patuck via libcamera-devel (2023-09-28 10:52:09)
> Hi David,
> 
> Thank you for fixing this, quite a subtle bug!
> 
> On Thu, 28 Sept 2023 at 10:41, David Plowman via libcamera-devel
> <libcamera-devel at lists.libcamera.org> wrote:
> >
> > We avoid skipping the IPAs while frameCount_ is less then
> 
> s/then/than/
> 
> > dropFrameCount_, indicating that these frames will not be sent to the
> > application. This means that when these numbers are equal then this is
> > the first frame the application will get, so again, we must avoid
> > skipping the IPAs. Consequently the test here must avoid the case of
> > equality.
> >
> > Signed-off-by: David Plowman <david.plowman at raspberrypi.com>
> 
> Perhaps add a Fixes: 51533fecae8 ("ipa: rpi: Fix frame count logic
> when running algorithms")?
> 
> Reviewed-by: Naushir Patuck <naush at raspberrypi.com>

This looks reasonable to me.

I'll apply the fixups above while applying.


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

> 
> > ---
> >  src/ipa/rpi/common/ipa_base.cpp | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/src/ipa/rpi/common/ipa_base.cpp b/src/ipa/rpi/common/ipa_base.cpp
> > index 551adadf..5df1998c 100644
> > --- a/src/ipa/rpi/common/ipa_base.cpp
> > +++ b/src/ipa/rpi/common/ipa_base.cpp
> > @@ -409,7 +409,7 @@ void IpaBase::prepareIsp(const PrepareParams &params)
> >
> >         /* Allow a 10% margin on the comparison below. */
> >         Duration delta = (frameTimestamp - lastRunTimestamp_) * 1.0ns;
> > -       if (lastRunTimestamp_ && frameCount_ >= dropFrameCount_ &&
> > +       if (lastRunTimestamp_ && frameCount_ > dropFrameCount_ &&
> >             delta < controllerMinFrameDuration * 0.9) {
> >                 /*
> >                  * Ensure we merge the previous frame's metadata with the current
> > --
> > 2.39.2
> >


More information about the libcamera-devel mailing list