[libcamera-devel] [RFC PATCH 0/2] Implement IPA algorithms and demo with IPU3
Jean-Michel Hautbois
jeanmichel.hautbois at ideasonboard.com
Fri Feb 19 18:22:22 CET 2021
This RFC is really meant to start discussions.
It demonstrates on IPU3 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 ;-).
Jean-Michel Hautbois (2):
WIP: ipa: Add Controller and Algorithm skeleton
WIP: ipa: ipu3: Add support for IPU3 AWB algorithm
include/libcamera/ipa/agc_algorithm.h | 32 ++++
include/libcamera/ipa/awb_algorithm.h | 27 ++++
include/libcamera/ipa/ipa_algorithm.h | 46 ++++++
include/libcamera/ipa/ipa_controller.h | 39 +++++
include/libcamera/ipa/meson.build | 4 +
src/ipa/ipu3/ipu3.cpp | 31 +++-
src/ipa/ipu3/ipu3_agc.cpp | 195 +++++++++++++++++++++++++
src/ipa/ipu3/ipu3_agc.h | 96 ++++++++++++
src/ipa/ipu3/ipu3_awb.cpp | 182 +++++++++++++++++++++++
src/ipa/ipu3/ipu3_awb.h | 130 +++++++++++++++++
src/ipa/ipu3/meson.build | 8 +-
src/ipa/libipa/ipa_algorithm.cpp | 20 +++
src/ipa/libipa/ipa_controller.cpp | 45 ++++++
src/ipa/libipa/meson.build | 2 +
src/libcamera/pipeline/ipu3/ipu3.cpp | 1 +
15 files changed, 853 insertions(+), 5 deletions(-)
create mode 100644 include/libcamera/ipa/agc_algorithm.h
create mode 100644 include/libcamera/ipa/awb_algorithm.h
create mode 100644 include/libcamera/ipa/ipa_algorithm.h
create mode 100644 include/libcamera/ipa/ipa_controller.h
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/ipa_algorithm.cpp
create mode 100644 src/ipa/libipa/ipa_controller.cpp
--
2.27.0
More information about the libcamera-devel
mailing list