[v10,0/4] ipa: rkisp1: Add crosstalk algorithm
mbox series

Message ID 20240616174541.10708-1-laurent.pinchart@ideasonboard.com
Headers show
Series
  • ipa: rkisp1: Add crosstalk algorithm
Related show

Message

Laurent Pinchart June 16, 2024, 5:45 p.m. UTC
Hello,

I'm posting a new version of Paul's "[PATCH v9 0/3] ipa: rkisp1: Add
crosstalk algorithm" and "[PATCH v3] ipa: libipa: vector: Add
matrix-vector multiplication" patches with small review comments
addressed, to speed up merging.

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.

v9 fixes some compilation errors that fell through the cracks.

v10 addresses small review comments

Paul Elder (4):
  ipa: libipa: Add Matrix class
  ipa: libipa: Add MatrixInterpolator class
  ipa: rkisp1: algorithms: Add crosstalk algorithm
  ipa: libipa: vector: Add matrix-vector multiplication

 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/libipa/vector.cpp              |  11 ++
 src/ipa/libipa/vector.h                |  17 +++
 src/ipa/rkisp1/algorithms/ccm.cpp      | 147 ++++++++++++++++++
 src/ipa/rkisp1/algorithms/ccm.h        |  49 ++++++
 src/ipa/rkisp1/algorithms/meson.build  |   1 +
 src/ipa/rkisp1/ipa_context.h           |   5 +
 11 files changed, 819 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


base-commit: d978832d9e987b555be7c0ee8eeda37981924515