[v4,0/3] ipa: rkisp1: Add crosstalk algorithm
mbox series

Message ID 20240517080129.3876981-1-paul.elder@ideasonboard.com
Headers show
Series
  • ipa: rkisp1: Add crosstalk algorithm
Related show

Message

Paul Elder May 17, 2024, 8:01 a.m. UTC
This patch series adds the crosstalk / color correction algorithm to
the rkisp1 IPA.

The last patch in this series depends on "[PATCH] libcamera: utils: Add
a helper to convert floating-point to fixed-point".

Interpolating matrices is likely to be a common functionaily, as lens
shading correction also does it, and other IPAs will will want to do
both color correction and lens shading correction. Because of this, the
crosstalk is implemented using a generic matrix interpolator, which is
added to libipa, in addition to a Matrix class.

v3 mainly adds ccm offsets, and some fixes some initialization and
asserts.

v4 cleans up / optimizes the Matrix class and supports the reorganized
tuning file layout for color correction matrices.

Paul Elder (3):
  ipa: libipa: Add Matrix class
  ipa: libipa: Add MatrixInterpolator class
  ipa: rkisp1: algorithms: Add crosstalk algorithm

 src/ipa/libipa/matrix.cpp              |  17 +++
 src/ipa/libipa/matrix.h                | 161 +++++++++++++++++++++++++
 src/ipa/libipa/matrix_interpolator.cpp |  54 +++++++++
 src/ipa/libipa/matrix_interpolator.h   | 119 ++++++++++++++++++
 src/ipa/libipa/meson.build             |   4 +
 src/ipa/rkisp1/algorithms/ccm.cpp      | 112 +++++++++++++++++
 src/ipa/rkisp1/algorithms/ccm.h        |  44 +++++++
 src/ipa/rkisp1/algorithms/meson.build  |   1 +
 8 files changed, 512 insertions(+)
 create mode 100644 src/ipa/libipa/matrix.cpp
 create mode 100644 src/ipa/libipa/matrix.h
 create mode 100644 src/ipa/libipa/matrix_interpolator.cpp
 create mode 100644 src/ipa/libipa/matrix_interpolator.h
 create mode 100644 src/ipa/rkisp1/algorithms/ccm.cpp
 create mode 100644 src/ipa/rkisp1/algorithms/ccm.h