[PATCH v6 0/9] rkisp1: Add manual colour temperature control
Stefan Klug
stefan.klug at ideasonboard.com
Thu Dec 19 18:57:17 CET 2024
This series adds the ability to manually set the colour temperature
control. It is a partial resurrection of the "libcamera: controls:
Update the ColourTemperature control to be writable" series by David
Plowman [1], but with a implementation for the rkisp1 instead of the
rpi.
Patch 1 updates the control id documentation. Patches 2-3 implement the
control for the rkisp1. Patches 4-8 update the tuning scripts
accordingly.
Patch 9 is a rebase of the RPi implementation form [1]. It was tested and seems
to work as expected.
After some discussions in v4 an agreement on the expected behavior of
the manual controls was found and documented in control_ids_core.yaml.
Changes v5 -> v6:
- Updated documentation according to discussions in v4
- Fixed minor issues from v5 reviews
- Changed colour temperature metadata to be the temperature used for the frame
instead of the latest measurement
- Added the RPi implementation form David as patch 9/9
Changes v4 -> v5:
- Rebased on current master
- Small fixes from review
- Replaced Interpolator<Matrix> with Interpolator<Vector> as we now have
a genric Vector class.
Changes v1 -> v4:
- Incremented series version to v4, because technically it is a superset of [1]
- Fixed compile issue on patch 2
- Fixed typos and wording in patch 1
- Collected tags
Best regards,
Stefan
[1] https://patchwork.libcamera.org/project/libcamera/list/?series=4083
David Plowman (1):
ipa: rpi: awb: Make it possible to set the colour temperature directly
Stefan Klug (8):
libcamera: controls: Update the ColourTemperature control to be
writable
ipa: rkisp1: awb: Load white balance gains from tuning file
ipa: rkisp1: awb: Implement ColourTemperature control
libtuning: Use logging framework in ctt_awb.awb()
libtuning: Remove the Cam object from ctt_awb.awb()
libtuning: Fix access to color member in ctt_awb.awb()
libtuning: Add initial AWB module
utils: tuning: rkisp1: Replace static AWB with new AWB module
src/ipa/rkisp1/algorithms/awb.cpp | 67 ++++++++++++++++---
src/ipa/rkisp1/algorithms/awb.h | 7 ++
src/ipa/rkisp1/ipa_context.h | 1 +
src/ipa/rpi/common/ipa_base.cpp | 20 ++++++
src/ipa/rpi/controller/awb_algorithm.h | 1 +
src/ipa/rpi/controller/rpi/awb.cpp | 18 +++++
src/ipa/rpi/controller/rpi/awb.h | 1 +
src/libcamera/control_ids_core.yaml | 38 ++++++++++-
utils/tuning/libtuning/ctt_awb.py | 55 +++++++--------
.../tuning/libtuning/modules/awb/__init__.py | 6 ++
utils/tuning/libtuning/modules/awb/awb.py | 36 ++++++++++
utils/tuning/libtuning/modules/awb/rkisp1.py | 27 ++++++++
utils/tuning/rkisp1.py | 4 +-
13 files changed, 240 insertions(+), 41 deletions(-)
create mode 100644 utils/tuning/libtuning/modules/awb/__init__.py
create mode 100644 utils/tuning/libtuning/modules/awb/awb.py
create mode 100644 utils/tuning/libtuning/modules/awb/rkisp1.py
--
2.43.0
More information about the libcamera-devel
mailing list