[libcamera-devel,v2,0/4] Add tuning data file support to the IPU3 IPA modul
mbox series

Message ID 20220809144617.27983-1-laurent.pinchart@ideasonboard.com
Headers show
Series
  • Add tuning data file support to the IPU3 IPA modul
Related show

Message

Laurent Pinchart Aug. 9, 2022, 2:46 p.m. UTC
Hello,

This patch series adds support for tuning data files to the IPU3 IPA
module. It mimicks the RkISP1 implementation that was merged recently,
and brings dynamic instantiation of algorithms from the tuning file.

The series leaves a few questions unanswered, in particular how to
handle the IPU3 IPA module based on the closed-source Intel 3A binaries.
I don't think this is a blocker, the pipeline handler will pass a tuning
file name to the IPA module, which that particular module will ignore. I
haven't really thought about how to handle the fact that different IPA
modules may require different tuning files, maybe this should be handled
in the broader context of how to select one IPA module among multiple
options.

On a related note, this version has dropped support for overridding the
tuning file name through an environment variable, as IPU3-based
platforms typically have multiple cameras, so this wasn't a good fit. A
better way to pick tuning data files will be designed and implemented on
top.

The patches haven't been tested yet. Kieran, would you be able to run
CTS on a Soraka device with this series applied ?

Laurent Pinchart (4):
  pipeline: ipu3: Support IPA tuning file
  ipa: ipu3: Add an uncalibrated.yaml tuning data file
  ipa: ipu3: Register algorithms
  ipa: ipu3: Add YAML tuning file support

 src/ipa/ipu3/algorithms/af.cpp           |  2 +
 src/ipa/ipu3/algorithms/agc.cpp          |  2 +
 src/ipa/ipu3/algorithms/awb.cpp          |  2 +
 src/ipa/ipu3/algorithms/blc.cpp          |  2 +
 src/ipa/ipu3/algorithms/tone_mapping.cpp |  2 +
 src/ipa/ipu3/data/meson.build            |  8 +++
 src/ipa/ipu3/data/uncalibrated.yaml      | 11 ++++
 src/ipa/ipu3/ipu3.cpp                    | 70 ++++++++++++++++++------
 src/ipa/ipu3/meson.build                 |  1 +
 src/libcamera/pipeline/ipu3/ipu3.cpp     | 12 +++-
 10 files changed, 92 insertions(+), 20 deletions(-)
 create mode 100644 src/ipa/ipu3/data/meson.build
 create mode 100644 src/ipa/ipu3/data/uncalibrated.yaml


base-commit: 768f1138e9111975959057a621a99518ab78981f