[PATCH v3 00/11] Add Amlogic C3 ISP pipeline handler and IPA
Keke Li
keke.li at amlogic.com
Thu Feb 27 11:57:22 CET 2025
The Amlogic C3 platform integrates an ISP capable of supporting
multi-camera, multi-exposure high dynamic range (HDR) imaging with up to
14-bit raw RGB Bayer data.
The C3 ISP pipeline handler supports 3-channel image output,
1-channel 3A statistics ouput and 1-channel parameters input.
Link to the C3 ISP driver patch v6:
https://lore.kernel.org/linux-media/20250227-c3isp-v6-0-f72e19084d0d@amlogic.com/
Changes in v3:
- Separate commits for "Add C3 ISP pipeline handler"
- Separate commits for "Add C3 ISP IPA"
- Support Raw stream in the C3 ISP pipeline handler
- Rename some interfaces in c3-isp.mojom
- Use the camHelper's blacklevel in blc.cpp
Changes in v2:
- Align struct c3_isp_params_xxx to 8 bytes in c3-isp-config.h
- Modify c3_isp_stats_buffer to c3_isp_stats_info in c3-isp-config.h
Keke Li (11):
include: linux: Add C3 ISP Stats and Params V4L2 format
libcamera: pipeline: Add c3-isp pipeline handler
include: linux: Add c3-isp-config.h
ipa: c3-isp: Add C3 ISP IPA module
ipa: c3-isp: Add Agc algorithm
ipa: c3-isp: Add Awb algorithm
ipa: c3-isp: Add BLC Algorithm
ipa: c3-isp: Add CCM Algorithm
ipa: c3-isp: Add CSC Algorithm
ipa: c3-isp: Add Post Gamma Algorithm
ipa: c3-isp: Add IMX290 tuning data file
Documentation/Doxyfile-common.in | 1 +
include/libcamera/ipa/c3-isp.mojom | 34 +
include/libcamera/ipa/meson.build | 1 +
include/linux/c3-isp-config.h | 564 +++++++++
include/linux/videodev2.h | 4 +
meson_options.txt | 3 +-
src/ipa/c3-isp/algorithms/agc.cpp | 310 +++++
src/ipa/c3-isp/algorithms/agc.h | 51 +
src/ipa/c3-isp/algorithms/algorithm.h | 28 +
src/ipa/c3-isp/algorithms/awb.cpp | 200 ++++
src/ipa/c3-isp/algorithms/awb.h | 39 +
src/ipa/c3-isp/algorithms/blc.cpp | 151 +++
src/ipa/c3-isp/algorithms/blc.h | 45 +
src/ipa/c3-isp/algorithms/ccm.cpp | 92 ++
src/ipa/c3-isp/algorithms/ccm.h | 36 +
src/ipa/c3-isp/algorithms/csc.cpp | 66 ++
src/ipa/c3-isp/algorithms/csc.h | 32 +
src/ipa/c3-isp/algorithms/meson.build | 10 +
src/ipa/c3-isp/algorithms/post_gamma.cpp | 65 +
src/ipa/c3-isp/algorithms/post_gamma.h | 33 +
src/ipa/c3-isp/c3-isp.cpp | 370 ++++++
src/ipa/c3-isp/data/imx290.yaml | 30 +
src/ipa/c3-isp/data/meson.build | 9 +
src/ipa/c3-isp/data/uncalibrated.yaml | 7 +
src/ipa/c3-isp/ipa_context.cpp | 101 ++
src/ipa/c3-isp/ipa_context.h | 87 ++
src/ipa/c3-isp/meson.build | 32 +
src/ipa/c3-isp/module.h | 28 +
src/ipa/c3-isp/params.cpp | 127 ++
src/ipa/c3-isp/params.h | 133 +++
src/libcamera/pipeline/c3-isp/c3-isp.cpp | 1313 +++++++++++++++++++++
src/libcamera/pipeline/c3-isp/meson.build | 5 +
32 files changed, 4006 insertions(+), 1 deletion(-)
create mode 100644 include/libcamera/ipa/c3-isp.mojom
create mode 100644 include/linux/c3-isp-config.h
create mode 100644 src/ipa/c3-isp/algorithms/agc.cpp
create mode 100644 src/ipa/c3-isp/algorithms/agc.h
create mode 100644 src/ipa/c3-isp/algorithms/algorithm.h
create mode 100644 src/ipa/c3-isp/algorithms/awb.cpp
create mode 100644 src/ipa/c3-isp/algorithms/awb.h
create mode 100644 src/ipa/c3-isp/algorithms/blc.cpp
create mode 100644 src/ipa/c3-isp/algorithms/blc.h
create mode 100644 src/ipa/c3-isp/algorithms/ccm.cpp
create mode 100644 src/ipa/c3-isp/algorithms/ccm.h
create mode 100644 src/ipa/c3-isp/algorithms/csc.cpp
create mode 100644 src/ipa/c3-isp/algorithms/csc.h
create mode 100644 src/ipa/c3-isp/algorithms/meson.build
create mode 100644 src/ipa/c3-isp/algorithms/post_gamma.cpp
create mode 100644 src/ipa/c3-isp/algorithms/post_gamma.h
create mode 100644 src/ipa/c3-isp/c3-isp.cpp
create mode 100644 src/ipa/c3-isp/data/imx290.yaml
create mode 100644 src/ipa/c3-isp/data/meson.build
create mode 100644 src/ipa/c3-isp/data/uncalibrated.yaml
create mode 100644 src/ipa/c3-isp/ipa_context.cpp
create mode 100644 src/ipa/c3-isp/ipa_context.h
create mode 100644 src/ipa/c3-isp/meson.build
create mode 100644 src/ipa/c3-isp/module.h
create mode 100644 src/ipa/c3-isp/params.cpp
create mode 100644 src/ipa/c3-isp/params.h
create mode 100644 src/libcamera/pipeline/c3-isp/c3-isp.cpp
create mode 100644 src/libcamera/pipeline/c3-isp/meson.build
--
2.48.1
More information about the libcamera-devel
mailing list