[RFC,v2,0/2] Use softisp IPA with simple pipeline raw output
mbox series

Message ID 20261111201351.39373-1-mzamazal@redhat.com
Headers show
Series
  • Use softisp IPA with simple pipeline raw output
Related show

Message

Milan Zamazal Nov. 11, 2026, 8:13 p.m. UTC
This version is posted as RFC because it tries a different concept,
inspired by v1 review discussion and Hans’s camss (which serves a bit
different purpose but tries to achieve something similar).  The patches
need further work but before doing it, I’d like to know whether it’s a
right or a wrong direction.  The purpose is still to introduce some IPA
functionality to raw streams without much rework of ‘simple’ pipeline.

This patch series adds support for the following to ‘simple’ pipeline
raw output:

- Gathering statistics from the raw images.
- Running softisp IPA on the images (without modifying the images).
- Providing metadata from the IPA.
- Adjusting exposure/gain.

A better approach might be to split ‘simple’ pipeline into specific
pipelines for the functionality currently mixed there: converters,
debayering, raw output.  Modular pipelines composable from independent
pieces might be even better.  But such approaches would require much
more work; this patch series tries to address immediate needs without
complex restructuring of ‘simple’ pipeline.

Changes in v2:
- Significantly reworked, an experimental version.
- The configuration option removed for simplicity (but can be
  reintroduced if desired).

Milan Zamazal (2):
  libcamera: software_isp: Use shared stats
  libcamera: software_isp: Allow running IPA and stats on raw

 .../internal/software_isp/software_isp.h      | 104 +++-
 src/libcamera/pipeline/simple/simple.cpp      |  63 +-
 src/libcamera/software_isp/debayer.cpp        |  10 -
 src/libcamera/software_isp/debayer.h          |   2 -
 src/libcamera/software_isp/debayer_cpu.cpp    |   2 +-
 src/libcamera/software_isp/debayer_cpu.h      |   5 +-
 src/libcamera/software_isp/debayer_egl.cpp    |   2 +-
 src/libcamera/software_isp/debayer_egl.h      |   6 +-
 src/libcamera/software_isp/software_isp.cpp   | 546 ++++++++++++------
 9 files changed, 496 insertions(+), 244 deletions(-)