[v2,00/14] libcamera: Prepare for new camera sensor class
mbox series

Message ID 20240315001613.2033-1-laurent.pinchart@ideasonboard.com
Headers show
Series
  • libcamera: Prepare for new camera sensor class
Related show

Message

Laurent Pinchart March 15, 2024, 12:15 a.m. UTC
Hello,

This patch series is a subset of "[PATCH/RFC 00/32] libcamera: Support
the upstream Unicam driver" that contains only the clean up, refactoring
and improvement of the V4L2Subdevice and CameraSensor classes. During
the review of the previous series, Jacopo proposed fast-tracking these
patches while development of the V4L2 embedded data support API
continues. I'm happy with that proposal as it reduces the size of the
series, and all the patches here should not be controversial and are
independent of the V4L2 API changes.

Compared to the RFC, all review comments have been taken into account,
and the patches have been rebased on top of the latest master branch.
Please see individual patches for details.

Laurent Pinchart (14):
  libcamera: v4l2_subdevice: Rename V4L2SubdeviceFormatInfo
  libcamera: v4l2_subdevice: Add code member to MediaBusFormatInfo
  libcamera: v4l2_subdevice: Expose media bus format info as internal
    API
  libcamera: v4l2_subdevice: Extend MediaBusFormatInfo with metadata
    formats
  libcamera: v4l2_subdevice: Drop V4L2SubdeviceFormat::bitsPerPixel()
  libcamera: v4l2_subdevice: Rename V4L2SubdeviceFormat::mbus_code to
    code
  libcamera: v4l2_subdevice: Add stream support to get/set functions
  libcamera: v4l2_subdevice: Replace Routing::toString() with
    operator<<()
  libcamera: v4l2_subdevice: Add V4L2Subdevice::Route structure
  libcamera: camera_sensor: Move related classes to subdirectory
  libcamera: camera_sensor: Drop updateControlInfo() function
  libcamera: camera_sensor: Reorder functions
  libcamera: camera_sensor: Test for read-only HBLANK with READ_ONLY
    flag
  libcamera: camera_sensor: Expose the Bayer order

 include/libcamera/internal/camera_sensor.h    |   35 +-
 include/libcamera/internal/v4l2_subdevice.h   |  103 +-
 src/libcamera/meson.build                     |    3 +-
 src/libcamera/pipeline/imx8-isi/imx8-isi.cpp  |   24 +-
 src/libcamera/pipeline/ipu3/cio2.cpp          |    8 +-
 src/libcamera/pipeline/ipu3/imgu.cpp          |    4 +-
 src/libcamera/pipeline/rkisp1/rkisp1.cpp      |    2 +-
 src/libcamera/pipeline/rkisp1/rkisp1_path.cpp |    2 +-
 .../pipeline/rpi/common/pipeline_base.cpp     |   68 +-
 .../pipeline/rpi/common/pipeline_base.h       |    6 +-
 src/libcamera/pipeline/rpi/vc4/vc4.cpp        |    2 +-
 src/libcamera/pipeline/simple/simple.cpp      |   20 +-
 src/libcamera/pipeline/vimc/vimc.cpp          |    4 +-
 src/libcamera/{ => sensor}/camera_sensor.cpp  |  557 ++++----
 .../{ => sensor}/camera_sensor_properties.cpp |    0
 src/libcamera/sensor/meson.build              |    6 +
 src/libcamera/v4l2_subdevice.cpp              | 1163 ++++++++++++++---
 test/camera-sensor.cpp                        |    2 +-
 .../v4l2_videodevice_test.cpp                 |    2 +-
 19 files changed, 1401 insertions(+), 610 deletions(-)
 rename src/libcamera/{ => sensor}/camera_sensor.cpp (95%)
 rename src/libcamera/{ => sensor}/camera_sensor_properties.cpp (100%)
 create mode 100644 src/libcamera/sensor/meson.build


base-commit: d54abd32affdb7d7458cd2a0889a7afe6a5a5d33