[PATCH v5 0/8] rkisp1: Add manual colour temperature control
Stefan Klug
stefan.klug at ideasonboard.com
Fri Dec 6 15:52:20 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-7 update the tuning scripts
accordingly.
There were some discussion points in v4 that were not completely
resolved. These circled around a more exotic use case: what happens if
ColourGains get set when AwbEnable is off. Rpi then uses the colour
gains to estimate the colour temperature and adjust the ccm accordingly.
The rkisp1 implementation doesn't do that at the moment. But
improvements of that are in the works. So I'd suggest to merge this
series in, even with a slightly pipeline defined behavior. We can easily
improve from that point onward.
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
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 | 51 +++++++++++++++--
src/ipa/rkisp1/algorithms/awb.h | 7 +++
src/libcamera/control_ids_core.yaml | 29 +++++++++-
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 +-
8 files changed, 179 insertions(+), 36 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