[libcamera-devel] [PATCH v1 0/7] IPU3: AWB and AGC improvements

Jean-Michel Hautbois jeanmichel.hautbois at ideasonboard.com
Mon Aug 23 14:49:30 CEST 2021


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.

Finally, we can introduce the Black level correction values in order to
slightly improve the contrast (we still lack Lens Shading Correction and
sensor linearization, though).

Jean-Michel Hautbois (7):
  ipa: ipu3: Move the AWB stats structures
  ipa: ipu3: awb: Correct the relevant zones proportion
  ipa: ipu3: awb: Correct the gain multipliers
  ipa: ipu3: awb: Add some documentation on the algorithm used
  ipa: ipu3: rename AGC algorithm
  ipa: ipu3: Introduce a new AGC algorithm
  ipa: ipu3: Introduce Black Level Correction

 .../ipu3/algorithms/{agc.cpp => agc_mean.cpp} |  31 +-
 src/ipa/ipu3/algorithms/{agc.h => agc_mean.h} |   8 +-
 src/ipa/ipu3/algorithms/agc_metering.cpp      | 336 ++++++++++++++++++
 src/ipa/ipu3/algorithms/agc_metering.h        |  81 +++++
 src/ipa/ipu3/algorithms/awb.cpp               |  59 ++-
 src/ipa/ipu3/algorithms/awb.h                 |  78 ++--
 src/ipa/ipu3/algorithms/meson.build           |   3 +-
 src/ipa/ipu3/ipa_context.h                    |   8 +
 src/ipa/ipu3/ipu3.cpp                         |  12 +-
 9 files changed, 546 insertions(+), 70 deletions(-)
 rename src/ipa/ipu3/algorithms/{agc.cpp => agc_mean.cpp} (87%)
 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

-- 
2.30.2



More information about the libcamera-devel mailing list