Message ID | 20210219172224.69862-1-jeanmichel.hautbois@ideasonboard.com |
---|---|
Headers | show |
Series |
|
Related | show |
Hi Jean-Michel, On Fri, Feb 19, 2021 at 06:22:22PM +0100, Jean-Michel Hautbois wrote: > This RFC is really meant to start discussions. That's what RFCs are for :-) Thanks for sending it, I'll reply to the two patches. > 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