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

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

Message

Paul Elder May 29, 2024, 7:37 p.m. UTC
The last patch in this series depends on "ipa: rkisp1: Add a helper to convert
floating-point to fixed-point".

This patch series adds the crosstalk / color correction algorithm to
the rkisp1 IPA.

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.

v5 mainly adds documentation, as well as a simple cache to the matrix
interpolator.

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

 src/ipa/libipa/matrix.cpp              |  98 +++++++++++++++
 src/ipa/libipa/matrix.h                | 161 +++++++++++++++++++++++++
 src/ipa/libipa/matrix_interpolator.cpp |  97 +++++++++++++++
 src/ipa/libipa/matrix_interpolator.h   | 127 +++++++++++++++++++
 src/ipa/libipa/meson.build             |   4 +
 src/ipa/rkisp1/algorithms/ccm.cpp      | 109 +++++++++++++++++
 src/ipa/rkisp1/algorithms/ccm.h        |  44 +++++++
 src/ipa/rkisp1/algorithms/meson.build  |   1 +
 8 files changed, 641 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