[libcamera-devel] [PATCH 0/5] Transform implementation
Laurent Pinchart
laurent.pinchart at ideasonboard.com
Wed Jul 29 16:08:09 CEST 2020
Hi David,
On Wed, Jul 29, 2020 at 10:31:49AM +0100, David Plowman wrote:
> Hi everyone
>
> This patch set isn't complete, however, I thought it was worth giving
> people the chance to have a look, and this also allows me to ask a few
> more questions!
>
> There are 5 patches.
>
> 1. The first one merely adds the Transform class and inserts a
> Transform field into the CameraConfiguration. This is the only
> non-Raspberry Pi code.
>
> 2. Handles the transform in the RPi pipeline handler so that the
> correct flips are applied to the camera. Also passes the transform to
> the IPA.
>
> 3. Plumbs the transform through to all the separate control algorithms
> via the SwitchMode method (but does nothing further to handle the
> transform).
>
> 4. Handles the transform correctly in ALSC.
>
> 5. As part of patch 4, I noticed it wasn't dealing correctly with the
> luminance tables, irrespective of the transform. This fixes that and
> actually improves the handling of camera mode switches in general.
>
> Comments/Questions:
>
> * In patch #1, transform.h is labelled as "Copyright Google". Or
> should I put Raspberry Pi? Does it matter?
You're the author of the code, why should the copyright be assigned to
Google ? :-) I expect copyright Raspberry Pi Trading.
> * Patch #1 needs documentation. It looks like I need to write a
> transform.cpp file in the manner of (for example) geometry.cpp. Is
> that right, or is there anything else? (Do we mind if this file has
> nothing but comments?) How would I test the generated documentation
> is correct?
That's correct. We have other .cpp files that only have comments, so
it's fine, but there are a couple of functions that are a bit larger and
would make sense to move to the .cpp file. I'll comment on that
specifically when reviewing 1/5.
> * Patch #2 has an ugly cast...
I'll comment on that separately too :-)
> I think that's everything for now. Suggestions welcome as ever...!
>
> David Plowman (5):
> libcamera: Add Transform class
> libcamera: raspberrypi: Apply transform and pass through to IPA
> libcamera: raspberrypi: Plumb user transform through to individual
> IPAs
> libcamera: raspberrypi: ALSC: Handle transform in colour tables
> libcamera: raspberrypi: ALSC: Fix crop/transform of luminance table
>
> include/libcamera/camera.h | 3 +
> include/libcamera/ipa/raspberrypi.h | 1 +
> include/libcamera/meson.build | 1 +
> include/libcamera/transform.h | 193 ++++++++++++++++++
> src/ipa/raspberrypi/controller/algorithm.cpp | 4 +-
> src/ipa/raspberrypi/controller/algorithm.hpp | 3 +-
> src/ipa/raspberrypi/controller/controller.cpp | 5 +-
> src/ipa/raspberrypi/controller/controller.hpp | 5 +-
> src/ipa/raspberrypi/controller/rpi/agc.cpp | 3 +-
> src/ipa/raspberrypi/controller/rpi/agc.hpp | 3 +-
> src/ipa/raspberrypi/controller/rpi/alsc.cpp | 108 +++++++---
> src/ipa/raspberrypi/controller/rpi/alsc.hpp | 9 +-
> src/ipa/raspberrypi/controller/rpi/noise.cpp | 4 +-
> src/ipa/raspberrypi/controller/rpi/noise.hpp | 3 +-
> .../raspberrypi/controller/rpi/sharpen.cpp | 3 +-
> .../raspberrypi/controller/rpi/sharpen.hpp | 3 +-
> src/ipa/raspberrypi/raspberrypi.cpp | 44 ++--
> .../pipeline/raspberrypi/raspberrypi.cpp | 27 ++-
> 18 files changed, 356 insertions(+), 66 deletions(-)
> create mode 100644 include/libcamera/transform.h
--
Regards,
Laurent Pinchart
More information about the libcamera-devel
mailing list