[PATCH v2 0/8] libcamera: Add swstats_cpu::processFrame() and atomisp pipeline handler

Bryan O'Donoghue bod.linux at nxsw.ie
Sat May 10 17:41:27 CEST 2025


On 10/05/2025 15:12, Hans de Goede wrote:
> 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
> 
Tested-by: Bryan O'Donoghue <bryan.odonoghue at linaro.org> # Dell 
Inspiron14p x1e80100



More information about the libcamera-devel mailing list