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

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

Message

Paul Elder June 14, 2024, 11:22 a.m. UTC
This patch series depends on "ipa: libipa: Vector and Pwl improvements"

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.

v6 fixes documentation (again).

v7 fixes offsets initialization and adds ccm to metadata, as well as
copyright and licenses, as these classes weren't actually copied.

v8 cleans up a bunch of stuff, including yaml parsing, thus adding a new
dependency on the aforementioned series.

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

 src/ipa/libipa/matrix.cpp              | 149 ++++++++++++++++++
 src/ipa/libipa/matrix.h                | 204 +++++++++++++++++++++++++
 src/ipa/libipa/matrix_interpolator.cpp | 110 +++++++++++++
 src/ipa/libipa/matrix_interpolator.h   | 122 +++++++++++++++
 src/ipa/libipa/meson.build             |   4 +
 src/ipa/rkisp1/algorithms/ccm.cpp      | 142 +++++++++++++++++
 src/ipa/rkisp1/algorithms/ccm.h        |  49 ++++++
 src/ipa/rkisp1/algorithms/meson.build  |   1 +
 src/ipa/rkisp1/ipa_context.h           |   5 +
 9 files changed, 786 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