[PATCH v2 0/8] libcamera: Add swstats_cpu::processFrame() and atomisp pipeline handler
Hans de Goede
hdegoede at redhat.com
Sat May 10 16:12:12 CEST 2025
Hi All,
Here is v2 of my patch series adding support to the swstats_cpu code
to process a whole frame in one go (also useful for the GPU-ISP work)
and adding a new pipeline handler for the atomisp.
Original v1 series:
https://patchwork.libcamera.org/cover/21798/
Later rebased resend of just the swstats_cpu::processFrame() changes:
https://patchwork.libcamera.org/cover/22186/
Changes in v2:
- Rebase on top of latest master
- Fix the lack of doxygen documentation
- Reworked "[PATCH v2 7/8] libcamera: ipa_manager: createIPA: Allow
matching by IPA name instead of by pipeline" this probably is the most
controversial change in this series
- Modify atomisp pipeline handler to also work with sensors where there
is an ISP on the sensor which the driver registers as a separate
v4l2-subdev like the MT9M114 sensor driver
Patches 1-4 have already been reviewed by both Kieran and Milan.
Please review patches 5-8.
This has already successfully passed the CI, see:
https://gitlab.freedesktop.org/camera/libcamera-softisp/-/commits/atomisp-v2/
Regards,
Hans
Hans de Goede (8):
libcamera: swstats_cpu: Update statsProcessFn() / processLine0()
documentation
libcamera: swstats_cpu: Drop patternSize_ documentation
libcamera: swstats_cpu: Move header to libcamera/internal/software_isp
libcamera: software_isp: Move benchmark code to its own class
libcamera: swstats_cpu: Add processFrame() method
libcamera: swstats_cpu: Add support for YUV420
libcamera: ipa_manager: createIPA: Allow matching by IPA name instead
of by pipeline
libcamera: Add new atomisp pipeline handler
include/libcamera/internal/ipa_manager.h | 7 +-
include/libcamera/internal/ipa_module.h | 4 +-
.../internal/software_isp/benchmark.h | 36 +
.../internal/software_isp/meson.build | 2 +
.../internal}/software_isp/swstats_cpu.h | 18 +
meson.build | 1 +
meson_options.txt | 1 +
src/ipa/simple/data/uncalibrated_atomisp.yaml | 7 +
src/libcamera/ipa_manager.cpp | 6 +-
src/libcamera/ipa_module.cpp | 19 +-
src/libcamera/pipeline/atomisp/atomisp.cpp | 636 ++++++++++++++++++
src/libcamera/pipeline/atomisp/meson.build | 5 +
src/libcamera/software_isp/benchmark.cpp | 93 +++
src/libcamera/software_isp/debayer_cpu.cpp | 36 +-
src/libcamera/software_isp/debayer_cpu.h | 9 +-
src/libcamera/software_isp/meson.build | 3 +-
src/libcamera/software_isp/swstats_cpu.cpp | 178 ++++-
17 files changed, 985 insertions(+), 76 deletions(-)
create mode 100644 include/libcamera/internal/software_isp/benchmark.h
rename {src/libcamera => include/libcamera/internal}/software_isp/swstats_cpu.h (79%)
create mode 100644 src/ipa/simple/data/uncalibrated_atomisp.yaml
create mode 100644 src/libcamera/pipeline/atomisp/atomisp.cpp
create mode 100644 src/libcamera/pipeline/atomisp/meson.build
create mode 100644 src/libcamera/software_isp/benchmark.cpp
--
2.49.0
More information about the libcamera-devel
mailing list