[libcamera-devel] [PATCH v1 0/7] ipa: Introduce a new open AGC

Jean-Michel Hautbois jeanmichel.hautbois at ideasonboard.com
Mon Jun 28 22:22:48 CEST 2021


In order to have better AGC results, use the one implemented in RPi, and
adapt it to be able to use it for more platforms.
For now, split the main structures into a ISP header.

The algorithm is still fully in ipu3_awb and ipu3_agc but those should be
splitted in libipa for common algorithm (grey world estimation) and
specific parts in the platform methods (the statistics transform between
the one from the platform and the common one).

The last patch in the series is not small, because it introduces
multiple functions to split the process call into multiple small parts.
It may be splitted more, but may lose a bit of logic...

Jean-Michel Hautbois (7):
  ipa: libipa: Fixups in CameraSensorHelpers
  ipa: libipa: Create a common ISP header to store the structure types
  ipa: ipu3: Use a common IPU3 header for the constants
  ipa: ipu3: use process method for all algorithms
  ipa: ipu3: Improve AWB behaviour
  ipa: ipu3: Call exposure and gain controls from AGC
  ipa: ipu3: Implement a new AGC algorithm

 src/ipa/ipu3/ipu3.cpp                   |  28 +--
 src/ipa/ipu3/ipu3_agc.cpp               | 304 +++++++++++++++---------
 src/ipa/ipu3/ipu3_agc.h                 |  37 ++-
 src/ipa/ipu3/ipu3_awb.cpp               |  28 ++-
 src/ipa/ipu3/ipu3_awb.h                 |  45 +---
 src/ipa/ipu3/ipu3_common.h              |  49 ++++
 src/ipa/libipa/camera_sensor_helper.cpp |  79 +++---
 src/ipa/libipa/camera_sensor_helper.h   |  32 +--
 src/ipa/libipa/isp.h                    | 110 +++++++++
 9 files changed, 482 insertions(+), 230 deletions(-)
 create mode 100644 src/ipa/ipu3/ipu3_common.h
 create mode 100644 src/ipa/libipa/isp.h

-- 
2.30.2



More information about the libcamera-devel mailing list