[libcamera-devel] [PATCH v4 0/4] Implement IPA algorithms and demo with IPU3
Jean-Michel Hautbois
jeanmichel.hautbois at ideasonboard.com
Tue Mar 30 23:12:06 CEST 2021
Here is v4 of the IPA demonstration on IPU3.
It demonstrates a conjunction of automatic exposure (AGC)
and automatic white balance (AWB).
The skeleton are extracted from RPi controller and probably subject to
modifications and discussions :
- are the mandatory methods really those ?
- how to exchange data between algorithms ?
- metadata like RPi?
- IPC ?
- public methods?
- controller API ?
- is the controller needed at all ?
The implementation in IPU3 is tested on SGo2.
It is not perfect but shows a really better behaviour than default.
Right now, the AGC algorithm is part of the RPi one, adapted to the
stats and parameters we have in IPU3.
Changes in v4:
- removed unneeded patch setting exposure and gains
- improve documentation of Histogram class
- take review comments :-)
Changes in v3:
- introduce histogram class (for AGC)
- add a patch to introduce parameter context saving
- changes in AGC to simplify it using part of RPi work
- changes in the AWB loop
- calculate the grid for the parameters using the BDS size from pipeline
handler
In v2:
- splits AWB and AEC/AGC algorithms.
- remove unused Controller
- remove unused variables/methods
- rename most of the class members
Jean-Michel Hautbois (4):
ipa: Add a common interface for algorithm objects
WIP: ipa: ipu3: Add an histogram class
ipa: ipu3: Add support for IPU3 AWB algorithm
ipa: ipu3: Add support for IPU3 AEC/AGC algorithm
src/ipa/ipu3/ipu3.cpp | 96 +++++++-
src/ipa/ipu3/ipu3_agc.cpp | 228 ++++++++++++++++++
src/ipa/ipu3/ipu3_agc.h | 67 ++++++
src/ipa/ipu3/ipu3_awb.cpp | 235 +++++++++++++++++++
src/ipa/ipu3/ipu3_awb.h | 44 ++++
src/ipa/ipu3/meson.build | 8 +-
src/ipa/libipa/algorithm.cpp | 39 +++
src/ipa/libipa/algorithm.h | 24 ++
src/ipa/libipa/histogram.cpp | 154 ++++++++++++
src/ipa/libipa/histogram.h | 40 ++++
src/ipa/libipa/meson.build | 6 +-
src/ipa/raspberrypi/controller/histogram.hpp | 9 +-
12 files changed, 932 insertions(+), 18 deletions(-)
create mode 100644 src/ipa/ipu3/ipu3_agc.cpp
create mode 100644 src/ipa/ipu3/ipu3_agc.h
create mode 100644 src/ipa/ipu3/ipu3_awb.cpp
create mode 100644 src/ipa/ipu3/ipu3_awb.h
create mode 100644 src/ipa/libipa/algorithm.cpp
create mode 100644 src/ipa/libipa/algorithm.h
create mode 100644 src/ipa/libipa/histogram.cpp
create mode 100644 src/ipa/libipa/histogram.h
--
2.27.0
More information about the libcamera-devel
mailing list