[libcamera-devel] [PATCH v7 0/8] 2D transforms
Laurent Pinchart
laurent.pinchart at ideasonboard.com
Sun Sep 6 02:44:57 CEST 2020
Hi David,
On Fri, Sep 04, 2020 at 11:30:34AM +0100, David Plowman wrote:
> Hi everyone
>
> Thanks for the various comments from Kieran since last time. The
> latest version I think incorporates that feedback - I moved the
> combinedTransform_ field into the RPiCameraConfiguration, and removed
> that extra one I had called userTransform_ because it's the same as
> the field already named transform. Apart from that everything else is
> unchanged, except for maybe a couple of improved comments. So still 8
> separate commits as last time:
>
> 1. The revert commit - unchanged.
>
> 2. V4L2Device::controlInfo method - unchanged.
>
> 3. Transform enum - unchanged.
>
> 4. BayerFormat class - unchanged apart from cosmetic tidying as per
> feedback.
>
> 5. Add transform to CameraConfiguration - unchanged.
>
> 6. This is where combinedTransform_ moves into the
> RPiCameraConfiguration, and userTransform_ is deleted (being just a
> duplicate of the transform field).
>
> 7 and 8. Unchanged.
>
> I think that's it!
Nice work, it's nice to see pieces falling into place. The BayerFormat
class is a good addition, I think we'll end up extending it to support
PixelFormat in addition to V4L2PixelFormat.
The patches are mostly OK. I thought I could handle the last few fixups
myself when applying (after getting your feedback on a few questions),
but patch 4/8 needs a bit more refactoring, so if you don't mind a (I
believe final) v8 would probably be best.
> David Plowman (8):
> libcamera: pipeline: raspberrypi: Revert "Set sensor default
> orientation before configure()"
> libcamera: Allow access to v4l2_query_ext_ctrl structure for a V4L2
> control
> libcamera: Add Transform enum to represent 2D plane transforms.
> libcamera: Add BayerFormat type
> libcamera: Add user Transform to CameraConfiguration
> libcamera: raspberrypi: Set camera flips correctly from user transform
> libcamera: raspberrypi: Plumb user transform through to IPA
> libcamera: ipa: raspberrypi: ALSC: Handle user transform
>
> include/libcamera/camera.h | 3 +
> include/libcamera/internal/bayer_format.h | 60 ++++
> include/libcamera/internal/v4l2_device.h | 2 +
> include/libcamera/meson.build | 1 +
> include/libcamera/transform.h | 78 +++++
> src/ipa/raspberrypi/controller/camera_mode.h | 4 +
> src/ipa/raspberrypi/controller/rpi/alsc.cpp | 13 +-
> src/ipa/raspberrypi/raspberrypi.cpp | 48 +--
> src/libcamera/bayer_format.cpp | 231 +++++++++++++
> src/libcamera/camera.cpp | 16 +-
> src/libcamera/meson.build | 2 +
> src/libcamera/pipeline/ipu3/ipu3.cpp | 5 +
> .../pipeline/raspberrypi/raspberrypi.cpp | 155 ++++++++-
> src/libcamera/pipeline/rkisp1/rkisp1.cpp | 5 +
> src/libcamera/pipeline/simple/simple.cpp | 5 +
> src/libcamera/pipeline/uvcvideo/uvcvideo.cpp | 5 +
> src/libcamera/pipeline/vimc/vimc.cpp | 5 +
> src/libcamera/transform.cpp | 322 ++++++++++++++++++
> src/libcamera/v4l2_device.cpp | 15 +
> 19 files changed, 941 insertions(+), 34 deletions(-)
> create mode 100644 include/libcamera/internal/bayer_format.h
> create mode 100644 include/libcamera/transform.h
> create mode 100644 src/libcamera/bayer_format.cpp
> create mode 100644 src/libcamera/transform.cpp
--
Regards,
Laurent Pinchart
More information about the libcamera-devel
mailing list