[libcamera-devel] [PATCH 00/10] Raspberry Pi AGC
Kieran Bingham
kieran.bingham at ideasonboard.com
Sat Nov 21 00:14:22 CET 2020
Hi David,
This series is checkstyle clean, and builds cleanly in my compiler matrix.
All the patches are within src/ipa/raspberrypi - so with Naush's tags,
this is enough to go in as far as I can see.
It's hard to do a full review here, as I still have lots to learn on the
IPA details, and I won't let that block your work.
For the series:
Acked-by: Kieran Bingham <kieran.bingham at ideasonboard.com>
There are some comments that I see have been mentioned, so when that's
handled, just let me know and we can push.
--
Kieran
On 17/11/2020 10:29, Naushir Patuck wrote:
> Hi David,
>
> Thank you for your patch. Review to follow shortly, but for the series:
>
> Tested-by: Naushir Patuck <naush at raspberrypi.com
> <mailto:naush at raspberrypi.com>>
>
> Regards,
> Naush
>
>
> On Mon, 16 Nov 2020 at 16:49, David Plowman
> <david.plowman at raspberrypi.com <mailto:david.plowman at raspberrypi.com>>
> wrote:
>
> Hi everyone
>
> Some time ago I had said I was doing some maintanence on the Raspberry
> Pi AGC algorithm, so here it all is (finally). Some of the changes are
> just for tidying, but others do also make it work better (even
> correctly). Some of the changes are in particular designed to go with
> Naush's patch set that allows exposure/gain to be set before the
> camera starts, though they all function in their own right too.
>
> These are the last substantial set of changes I have before we can
> publish our libcamera apps, though I think Naush still has more. (I am
> doing work on some of the other algorithms, but these are not on the
> critical path and can be added later.)
>
> Let me summarise all the individual patches here:
>
> #1. Replace Raspberry Pi debug with libcamera debug.
>
> #2. Code simplification. A number of copies and mutexes are
> unnecessary on the libcamera/vc4 platform. Not really a functional
> change though it does happen to fix a bug (where the AeLocked status
> was never correctly passed out in the AgcStatus).
>
> #3. Function renamed to be clearer!
>
> #4. An improvement in the way average Y values are calculated. This
> does actually change the AGC behaviour, making it less fiercely
> centre-weighted.
>
> #5. Code that fetches the AwbStatus from the metadata is factored out,
> so that we don't keep doing it all over the place. No functional
> difference.
>
> #6. An update to the AWB so that it gives us its up-to-date values
> when a camera mode switch happens. There's actually quite a lot of
> tidying to do to the AWB, but I'd like to save that for when I have
> more substantial changes there (and don't worry, they will come!).
>
> #7. This passes out correct gain/exposure values when the camera
> changes mode (or starts). This is the one most important to Naush.
>
> #8. Clear up some uninitialised variables. This is Tomi's patch from a
> little while back.
>
> #9. A small improvement to the gain update calculation. It's worth
> working a little harder with the statistics that we have to save
> having to wait for more frames.
>
> #10. Improvements to the "AE locked" logic. Previously it could fail
> ever to "lock" in some circumstances; now it will always do so once
> the AGC is steady.
>
> Sorry there's quite such a lot of stuff here. Please let me know if it
> might be better broken up into a few smaller patch sets.
>
> Thanks and best regards
> David
>
> David Plowman (10):
> libcamera: ipa: raspberrypi: agc: Use libcamera debug
> libcamera: ipa: raspberrypi: agc: Remove unnecessary locking
> libcamera: ipa: raspberrypi: agc: Rename method to divideUpExposure
> libcamera: ipa: raspberrypi: agc: Improve centre-weighted luminance
> calucation
> libcamera: ipa: raspberrypi: agc: Fetch AWB status only once
> libcamera: ipa: raspberrypi: awb: Add SwitchMode method to output AWB
> status
> libcamera: ipa: raspberrypi: agc: Report fixed exposure/gain values
> during SwitchMode
> libcamera: src: ipa: raspberrypi: agc: Fix uninitialised members in
> status_
> libcamera: src: ipa: raspberrypi: agc: Improve gain update calculation
> for partly saturated images
> libcamera: src: ipa: raspberrypi: agc: Improve AE locked logic
>
> src/ipa/raspberrypi/controller/rpi/agc.cpp | 393 ++++++++++++---------
> src/ipa/raspberrypi/controller/rpi/agc.hpp | 17 +-
> src/ipa/raspberrypi/controller/rpi/awb.cpp | 14 +
> src/ipa/raspberrypi/controller/rpi/awb.hpp | 1 +
> 4 files changed, 248 insertions(+), 177 deletions(-)
>
> --
> 2.20.1
>
> _______________________________________________
> libcamera-devel mailing list
> libcamera-devel at lists.libcamera.org
> <mailto:libcamera-devel at lists.libcamera.org>
> https://lists.libcamera.org/listinfo/libcamera-devel
>
>
> _______________________________________________
> libcamera-devel mailing list
> libcamera-devel at lists.libcamera.org
> https://lists.libcamera.org/listinfo/libcamera-devel
>
--
Regards
--
Kieran
More information about the libcamera-devel
mailing list