[0/2] ipa: simple: Proportional AGC and OV2740 tuning
mbox series

Message ID 20260225221859.600869-1-floss@jetm.me
Headers show
Series
  • ipa: simple: Proportional AGC and OV2740 tuning
Related show

Message

Javier Tia Feb. 25, 2026, 10:18 p.m. UTC
This series fixes AGC oscillation in the Simple pipeline and adds the
first sensor-specific tuning file for the SoftISP.

Patch 1 replaces the fixed 10% bang-bang step in the AGC with a
proportional controller where step size scales with the MSV error.
This eliminates the brightness flicker observed on sensors with
non-trivial control latency (tested on OV2740 behind Intel IPU6/IVSC).

Patch 2 adds an OV2740 tuning file with a color correction matrix
calibrated for 6500K, compensating for the green bias from Bayer
demosaicing. The CCM was iteratively calibrated from captured frame
measurements. A proper Macbeth ColorChecker calibration at multiple
color temperatures would improve accuracy.

Tested on ThinkPad X1 Carbon Gen 10 (Alder Lake, OV2740, IPU6 ISYS,
CachyOS kernel 6.19.3, libcamera 0.7.0).

Javier Tia (2):
  ipa: simple: agc: Replace bang-bang controller with proportional
  ipa: simple: data: Add OV2740 tuning file

 src/ipa/simple/algorithms/agc.cpp | 73 +++++++++++++++++++++----------
 src/ipa/simple/data/meson.build   |  1 +
 src/ipa/simple/data/ov2740.yaml   | 22 ++++++++++
 3 files changed, 72 insertions(+), 24 deletions(-)
 create mode 100644 src/ipa/simple/data/ov2740.yaml

--
2.53.0