fp6-img/aports
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Jorijn van der Graaf 48cedac3c3 libcamera: stabilize AWB with a white point locus clamp + damping (r8)
The softISP AWB is pure gray world, so panning swings ColourGains with
the frame average (white wall renders green when the frame is
warm-dominated, dark desk renders red when cool-dominated) and the CCM,
interpolated over a CT estimated from those gains, amplifies and
quantizes the swings.

Patch 0015 (ours, original work) adds optional per-sensor Awb tuning to
the simple IPA: a piecewise-linear locus of calibrated illuminant white
points in gain space that the gray-world estimate is clamped to
(clampMargin), a per-stats-frame EMA on the applied gains (damping)
with a fast-converge path for persistent illuminant changes, and CT
interpolated from the applied gains' position along the locus - on the
same scale as the tuning file's ccms table - instead of the generic
estimateCCT(). Tuning files without whitePoints keep the previous
behaviour exactly, so every other sensor is unaffected.

imx896.yaml gains the locus from the stock tuning blob's 10-point
per-illuminant AWB calibration (white points and their exactly
reciprocal gain triplets, cross-validated): the 7 on-locus points as
nodes, the 3 fluorescent points admitted via clampMargin 0.35. The
5000 K label is the blob's own proven anchor; 2856 K (A) is locked by
the fluorescent trio projecting onto the 2856-5000 chord at ~3960 K
(TL84); the rest are geometry-derived approximations.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-17 03:24:56 +02:00
..
device camera: enable the FP6 ultra-wide pipeline (kernel config + patched libcamera) 2026-08-16 04:08:36 +02:00
main/postmarketos-config-nftables scaffold: aports overlay, build script, CI workflow, README 2026-08-08 15:42:45 +02:00
modem/imsd image completeness: fp6-no-suspend + imsd boot enablement 2026-08-08 23:46:01 +02:00
temp libcamera: stabilize AWB with a white point locus clamp + damping (r8) 2026-08-17 03:24:56 +02:00