[libcamera-devel] [PATCH v7 0/8] 2D transforms

David Plowman david.plowman at raspberrypi.com
Fri Sep 4 12:30:34 CEST 2020


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!

Thanks and best regards
David

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

-- 
2.20.1



More information about the libcamera-devel mailing list