[libcamera-devel] [PATCH v3 0/9] IPU3: Introduce modularity for algorithms
Jean-Michel Hautbois
jeanmichel.hautbois at ideasonboard.com
Wed Aug 18 17:53:54 CEST 2021
This patch series splits the algorithms in IPU3 into a modular form.
When the Metadata class was discussed a proposal from Kieran was to have
a fully-defined structure which would be used to pass the context
between algorithms and the IPAIPU3 class, as well as between the
algorithms themselves.
The algorithms are statically emplaced in a list for the moment, and a
registration system may be used later.
In order to demonstrate how to add a new algorithm, patch 5/9
moves the contrast algorithm from AWB into its own algorithm.
Patch 6/9 and 7/9 change the AWB and AGC to use the new interface.
And the two latest patches are indeed the usage of the new modular
interface applied to AWB and AGC.
Jean-Michel Hautbois (9):
ipa: move libipa::Algorithm to ipa/ipu3/algorithms
ipa: ipu3: Introduce a Context structure
ipa: ipu3: Add the functions to the Algorithm class
ipa: ipu3: Introduce modular algorithm
ipa: ipu3: Introduce a modular contrast algorithm
ipa: ipu3: convert AWB to the new algorithm interface
ipa: ipu3: convert AGC to the new algorithm interface
ipa: ipu3: Move IPU3 awb into algorithms
ipa: ipu3: Move IPU3 agc into algorithms
.../ipu3/{ipu3_agc.cpp => algorithms/agc.cpp} | 39 ++--
src/ipa/ipu3/{ipu3_agc.h => algorithms/agc.h} | 32 ++--
src/ipa/ipu3/algorithms/algorithm.cpp | 76 ++++++++
src/ipa/ipu3/algorithms/algorithm.h | 33 ++++
.../ipu3/{ipu3_awb.cpp => algorithms/awb.cpp} | 168 +++++++-----------
src/ipa/ipu3/{ipu3_awb.h => algorithms/awb.h} | 26 +--
src/ipa/ipu3/algorithms/contrast.cpp | 53 ++++++
src/ipa/ipu3/algorithms/contrast.h | 32 ++++
src/ipa/ipu3/algorithms/meson.build | 8 +
src/ipa/ipu3/ipa_context.h | 54 ++++++
src/ipa/ipu3/ipu3.cpp | 124 +++++++++----
src/ipa/ipu3/meson.build | 6 +-
src/ipa/libipa/algorithm.cpp | 39 ----
src/ipa/libipa/algorithm.h | 24 ---
src/ipa/libipa/libipa.cpp | 22 +++
src/ipa/libipa/meson.build | 5 +-
16 files changed, 484 insertions(+), 257 deletions(-)
rename src/ipa/ipu3/{ipu3_agc.cpp => algorithms/agc.cpp} (88%)
rename src/ipa/ipu3/{ipu3_agc.h => algorithms/agc.h} (51%)
create mode 100644 src/ipa/ipu3/algorithms/algorithm.cpp
create mode 100644 src/ipa/ipu3/algorithms/algorithm.h
rename src/ipa/ipu3/{ipu3_awb.cpp => algorithms/awb.cpp} (71%)
rename src/ipa/ipu3/{ipu3_awb.h => algorithms/awb.h} (77%)
create mode 100644 src/ipa/ipu3/algorithms/contrast.cpp
create mode 100644 src/ipa/ipu3/algorithms/contrast.h
create mode 100644 src/ipa/ipu3/algorithms/meson.build
create mode 100644 src/ipa/ipu3/ipa_context.h
delete mode 100644 src/ipa/libipa/algorithm.cpp
delete mode 100644 src/ipa/libipa/algorithm.h
create mode 100644 src/ipa/libipa/libipa.cpp
--
2.30.2
More information about the libcamera-devel
mailing list