[libcamera-devel] [RFC PATCH 0/2] Implement IPA algorithms and demo with IPU3

Laurent Pinchart laurent.pinchart at ideasonboard.com
Mon Feb 22 03:28:45 CET 2021


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

-- 
Regards,

Laurent Pinchart


More information about the libcamera-devel mailing list