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

Message ID 20210628202255.138874-1-jeanmichel.hautbois@ideasonboard.com
Headers show
Series
  • ipa: Introduce a new open AGC
Related show

Message

Jean-Michel Hautbois June 28, 2021, 8:22 p.m. UTC
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