[libcamera-devel,v2,0/4] IPU3: AWB and AGC improvements
mbox series

Message ID 20210827080227.26370-1-jeanmichel.hautbois@ideasonboard.com
Headers show
Series
  • IPU3: AWB and AGC improvements
Related show

Message

Jean-Michel Hautbois Aug. 27, 2021, 8:02 a.m. UTC
Now that we have a full context share between algorithms when needed,
and a modular algorithm instanciation, we can introduce a new AGC
algorithm to demonstrate how one can chose between one or another (it
could obviously be done with a configuration file).

The algorithm comes from the RPi source code, and has been adapted but
stays similar in its concepts. It uses the AWB gains calculated at each
frame to adjust the exposure.
As we need to access the AWB statistics, having the needed structures
outside the AWB class sounds better.

--
v2: Remove the AWB modifications of the gains because it introduces
regressions on SGo2

Jean-Michel Hautbois (4):
  ipa: ipu3: Move the AWB stats structures
  ipa: ipu3: Rename AGC algorithm
  ipa: ipu3: Document AGC mean-based algorithm
  ipa: ipu3: Introduce a new AGC algorithm

 .../ipu3/algorithms/{agc.cpp => agc_mean.cpp} | 116 ++++-
 src/ipa/ipu3/algorithms/{agc.h => agc_mean.h} |   8 +-
 src/ipa/ipu3/algorithms/agc_metering.cpp      | 427 ++++++++++++++++++
 src/ipa/ipu3/algorithms/agc_metering.h        |  78 ++++
 src/ipa/ipu3/algorithms/awb.cpp               |  47 +-
 src/ipa/ipu3/algorithms/awb.h                 |  81 ++--
 src/ipa/ipu3/algorithms/meson.build           |   3 +-
 src/ipa/ipu3/ipa_context.h                    |   7 +
 src/ipa/ipu3/ipu3.cpp                         |  15 +-
 9 files changed, 693 insertions(+), 89 deletions(-)
 rename src/ipa/ipu3/algorithms/{agc.cpp => agc_mean.cpp} (61%)
 rename src/ipa/ipu3/algorithms/{agc.h => agc_mean.h} (90%)
 create mode 100644 src/ipa/ipu3/algorithms/agc_metering.cpp
 create mode 100644 src/ipa/ipu3/algorithms/agc_metering.h