[libcamera-devel] [PATCH v1 00/14] Raspberry Pi: Camera Module 3 support
Naushir Patuck
naush at raspberrypi.com
Thu Jan 19 11:45:30 CET 2023
Hi,
This series adds support for the Raspberry Pi Camera Module 3 (IMX708).
A new hybrid PDAF/CDAF autofocus algorithm has been implemented to drive the
autofocus mechanism available on this module. All libcamera focus related
controls are now hanled by the IPA.
Camera Module 3 is available either with an IR or without an IR (NoIR) filter,
and a normal or wide angle lens. This makes a total of 4 possible variants.
Detection of the variant is done through an OTP on the module, and signalled
back to userland through changing the suffix on the device entity name. As such,
we have 4 different tuning files and 4 duplicate instances of camera helpers and
sensor properties entires.
There is a single HDR sensor mode available in the sensor. Because of current
limitations, this needs to be switched on/off externally before running
libcamera:
v4l2-ctl --set-ctrl wide_dynamic_range=[0|1] -d /dev/v4l-subdev0
in order for the CameraSensor class to cache the correct sensor mode. In our
libcamera-apps, you can simply use the --hdr argument to switch this on. This
is only a temporary measure, and we need to work on a more permanent solution by
adding HDR pixel formats into V4L2.
Thanks,
Naush
Naushir Patuck (7):
pipeline: ipa: raspberrypi: Check if lens actuator is available
pipeline: ipa: raspberrypi: Remove unused streamConfig
pipeline: ipa: raspberrypi: Replace entityControls
pipeline: ipa: raspberrypi: Validate lens controls
ipa: raspberrypi: Reorder header file inclusion
ipa: raspberrypi: Include autofocus controls in the IPA ControlInfoMap
ipa: raspberrypi: Add lens position to DeviceStatus
Nick Hollinghurst (7):
ipa: mojom: raspberrypi: Add setLensControls() function
ipa: raspberrypi: Add autofocus algorithm interface headers
ipa: raspberrypi: Handle autofocus controls
ipa: raspberrypi: Handle autofocus algorithm results
ipa: raspberrypi: First version of autofocus algorithm using PDAF
libcamera: camera_sensor: Add Sony IMX708 sensor properties
ipa: raspberrypi: Add support for the Sony IMX708 sensor
include/libcamera/ipa/raspberrypi.mojom | 10 +-
src/ipa/raspberrypi/cam_helper_imx708.cpp | 350 ++++++++
src/ipa/raspberrypi/controller/af_algorithm.h | 76 ++
src/ipa/raspberrypi/controller/af_status.h | 35 +
.../raspberrypi/controller/device_status.h | 4 +-
src/ipa/raspberrypi/controller/pdaf_data.h | 21 +
src/ipa/raspberrypi/controller/rpi/af.cpp | 755 ++++++++++++++++++
src/ipa/raspberrypi/controller/rpi/af.h | 153 ++++
src/ipa/raspberrypi/data/imx708.json | 559 +++++++++++++
src/ipa/raspberrypi/data/imx708_noir.json | 559 +++++++++++++
src/ipa/raspberrypi/data/imx708_wide.json | 462 +++++++++++
.../raspberrypi/data/imx708_wide_noir.json | 462 +++++++++++
src/ipa/raspberrypi/data/meson.build | 4 +
src/ipa/raspberrypi/meson.build | 2 +
src/ipa/raspberrypi/raspberrypi.cpp | 267 ++++++-
src/libcamera/camera_sensor_properties.cpp | 16 +
.../pipeline/raspberrypi/raspberrypi.cpp | 35 +-
17 files changed, 3729 insertions(+), 41 deletions(-)
create mode 100644 src/ipa/raspberrypi/cam_helper_imx708.cpp
create mode 100644 src/ipa/raspberrypi/controller/af_algorithm.h
create mode 100644 src/ipa/raspberrypi/controller/af_status.h
create mode 100644 src/ipa/raspberrypi/controller/pdaf_data.h
create mode 100644 src/ipa/raspberrypi/controller/rpi/af.cpp
create mode 100644 src/ipa/raspberrypi/controller/rpi/af.h
create mode 100644 src/ipa/raspberrypi/data/imx708.json
create mode 100644 src/ipa/raspberrypi/data/imx708_noir.json
create mode 100644 src/ipa/raspberrypi/data/imx708_wide.json
create mode 100644 src/ipa/raspberrypi/data/imx708_wide_noir.json
--
2.25.1
More information about the libcamera-devel
mailing list