[v2,0/3] ipa: simple: OV2740 tuning file and swstats sumShift cleanup
mbox series

Message ID 177826063718.39714.13674874482653763631@jetm.me
Headers show
Series
  • ipa: simple: OV2740 tuning file and swstats sumShift cleanup
Related show

Message

Javier Tia May 8, 2026, 4:51 p.m. UTC
This series adds an OV2740 tuning file calibrated from the Intel IPU6
AIQB binary, plus a small cleanup in the SwStatsCpu sum-shift code that
came up during review of v1.

To make the calibration approach reproducible for other Intel IPU6
sensors, v2 adds a parse_aiqb.py script that walks the AIQB record
chain and emits a libcamera tuning YAML.

Patch 1/3 drops the redundant `if (sumShift_)` guard before the three
right-shift assignments in SwStatsCpu::finishFrame() (suggested during
v1 review). 2/3 adds the OV2740 tuning file. 3/3 adds the parse_aiqb.py
script that produced the file in 2/3.

Changes since v1:
- Patch 1/3: added blank line before the shift block per Laurent's
  review. Picked up Laurent's and Barnabás's Reviewed-by trailers.
- New patch 3/3: parse_aiqb.py script that extracts CCMs, AWB gain
  limits, and black level from Intel IPU6 AIQB binaries (requested
  by Hans). The script has only been tested on
  OV2740_CJFLE23_ADL.aiqb so far; format details and limitations
  are documented in its module docstring. A walkthrough of the AIQB
  format and the calibration workflow is on my blog:
  https://jetm.github.io/blog/posts/ipu6-aiqb-calibration/

Link to v1: https://patchwork.libcamera.org/project/libcamera/list/?series=5920

Javier Tia (3):
  libcamera: software_isp: Drop redundant sumShift_ guard in finishFrame
  ipa: simple: data: Add OV2740 tuning file
  utils: tuning: Add AIQB parser for Intel IPU6 sensors

 src/ipa/simple/data/meson.build            |   1 +
 src/ipa/simple/data/ov2740.yaml            |  52 ++++
 src/libcamera/software_isp/swstats_cpu.cpp |   9 +-
 utils/tuning/parse_aiqb.py                 | 276 +++++++++++++++++++++
 4 files changed, 333 insertions(+), 5 deletions(-)
 create mode 100644 src/ipa/simple/data/ov2740.yaml
 create mode 100644 utils/tuning/parse_aiqb.py