diff options
author | Naushir Patuck <naush@raspberrypi.com> | 2023-05-03 13:20:27 +0100 |
---|---|---|
committer | Laurent Pinchart <laurent.pinchart@ideasonboard.com> | 2023-05-04 20:47:40 +0300 |
commit | 726e9274ea95fa46352556d340c5793a8da51fcd (patch) | |
tree | 80f6adcdbf744f9317e09eff3e80c602b384a753 /src | |
parent | 46aefed208fef4bc8d6f6e8882b92b9af710a60b (diff) |
pipeline: ipa: raspberrypi: Refactor and move the Raspberry Pi code
Split the Raspberry Pi pipeline handler and IPA source code into common
and VC4/BCM2835 specific file structures.
For the pipeline handler, the common code files now live in
src/libcamera/pipeline/rpi/common/
and the VC4-specific files in src/libcamera/pipeline/rpi/vc4/.
For the IPA, the common code files now live in
src/ipa/rpi/{cam_helper,controller}/
and the vc4 specific files in src/ipa/rpi/vc4/. With this change, the
camera tuning files are now installed under share/libcamera/ipa/rpi/vc4/.
To build the pipeline and IPA, the meson configuration options have now
changed from "raspberrypi" to "rpi/vc4":
meson setup build -Dipas=rpi/vc4 -Dpipelines=rpi/vc4
Signed-off-by: Naushir Patuck <naush@raspberrypi.com>
Reviewed-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/ipa/raspberrypi/meson.build | 68 | ||||
-rw-r--r-- | src/ipa/rpi/README.md (renamed from src/ipa/raspberrypi/README.md) | 0 | ||||
-rw-r--r-- | src/ipa/rpi/cam_helper/cam_helper.cpp (renamed from src/ipa/raspberrypi/cam_helper.cpp) | 0 | ||||
-rw-r--r-- | src/ipa/rpi/cam_helper/cam_helper.h (renamed from src/ipa/raspberrypi/cam_helper.h) | 2 | ||||
-rw-r--r-- | src/ipa/rpi/cam_helper/cam_helper_imx219.cpp (renamed from src/ipa/raspberrypi/cam_helper_imx219.cpp) | 0 | ||||
-rw-r--r-- | src/ipa/rpi/cam_helper/cam_helper_imx290.cpp (renamed from src/ipa/raspberrypi/cam_helper_imx290.cpp) | 0 | ||||
-rw-r--r-- | src/ipa/rpi/cam_helper/cam_helper_imx296.cpp (renamed from src/ipa/raspberrypi/cam_helper_imx296.cpp) | 0 | ||||
-rw-r--r-- | src/ipa/rpi/cam_helper/cam_helper_imx477.cpp (renamed from src/ipa/raspberrypi/cam_helper_imx477.cpp) | 0 | ||||
-rw-r--r-- | src/ipa/rpi/cam_helper/cam_helper_imx519.cpp (renamed from src/ipa/raspberrypi/cam_helper_imx519.cpp) | 0 | ||||
-rw-r--r-- | src/ipa/rpi/cam_helper/cam_helper_imx708.cpp (renamed from src/ipa/raspberrypi/cam_helper_imx708.cpp) | 0 | ||||
-rw-r--r-- | src/ipa/rpi/cam_helper/cam_helper_ov5647.cpp (renamed from src/ipa/raspberrypi/cam_helper_ov5647.cpp) | 0 | ||||
-rw-r--r-- | src/ipa/rpi/cam_helper/cam_helper_ov9281.cpp (renamed from src/ipa/raspberrypi/cam_helper_ov9281.cpp) | 0 | ||||
-rw-r--r-- | src/ipa/rpi/cam_helper/md_parser.h (renamed from src/ipa/raspberrypi/md_parser.h) | 0 | ||||
-rw-r--r-- | src/ipa/rpi/cam_helper/md_parser_smia.cpp (renamed from src/ipa/raspberrypi/md_parser_smia.cpp) | 0 | ||||
-rw-r--r-- | src/ipa/rpi/cam_helper/meson.build | 26 | ||||
-rw-r--r-- | src/ipa/rpi/controller/af_algorithm.h (renamed from src/ipa/raspberrypi/controller/af_algorithm.h) | 0 | ||||
-rw-r--r-- | src/ipa/rpi/controller/af_status.h (renamed from src/ipa/raspberrypi/controller/af_status.h) | 0 | ||||
-rw-r--r-- | src/ipa/rpi/controller/agc_algorithm.h (renamed from src/ipa/raspberrypi/controller/agc_algorithm.h) | 0 | ||||
-rw-r--r-- | src/ipa/rpi/controller/agc_status.h (renamed from src/ipa/raspberrypi/controller/agc_status.h) | 0 | ||||
-rw-r--r-- | src/ipa/rpi/controller/algorithm.cpp (renamed from src/ipa/raspberrypi/controller/algorithm.cpp) | 0 | ||||
-rw-r--r-- | src/ipa/rpi/controller/algorithm.h (renamed from src/ipa/raspberrypi/controller/algorithm.h) | 0 | ||||
-rw-r--r-- | src/ipa/rpi/controller/alsc_status.h (renamed from src/ipa/raspberrypi/controller/alsc_status.h) | 0 | ||||
-rw-r--r-- | src/ipa/rpi/controller/awb_algorithm.h (renamed from src/ipa/raspberrypi/controller/awb_algorithm.h) | 0 | ||||
-rw-r--r-- | src/ipa/rpi/controller/awb_status.h (renamed from src/ipa/raspberrypi/controller/awb_status.h) | 0 | ||||
-rw-r--r-- | src/ipa/rpi/controller/black_level_status.h (renamed from src/ipa/raspberrypi/controller/black_level_status.h) | 0 | ||||
-rw-r--r-- | src/ipa/rpi/controller/camera_mode.h (renamed from src/ipa/raspberrypi/controller/camera_mode.h) | 0 | ||||
-rw-r--r-- | src/ipa/rpi/controller/ccm_algorithm.h (renamed from src/ipa/raspberrypi/controller/ccm_algorithm.h) | 0 | ||||
-rw-r--r-- | src/ipa/rpi/controller/ccm_status.h (renamed from src/ipa/raspberrypi/controller/ccm_status.h) | 0 | ||||
-rw-r--r-- | src/ipa/rpi/controller/contrast_algorithm.h (renamed from src/ipa/raspberrypi/controller/contrast_algorithm.h) | 0 | ||||
-rw-r--r-- | src/ipa/rpi/controller/contrast_status.h (renamed from src/ipa/raspberrypi/controller/contrast_status.h) | 0 | ||||
-rw-r--r-- | src/ipa/rpi/controller/controller.cpp (renamed from src/ipa/raspberrypi/controller/controller.cpp) | 0 | ||||
-rw-r--r-- | src/ipa/rpi/controller/controller.h (renamed from src/ipa/raspberrypi/controller/controller.h) | 0 | ||||
-rw-r--r-- | src/ipa/rpi/controller/denoise_algorithm.h (renamed from src/ipa/raspberrypi/controller/denoise_algorithm.h) | 0 | ||||
-rw-r--r-- | src/ipa/rpi/controller/denoise_status.h (renamed from src/ipa/raspberrypi/controller/denoise_status.h) | 0 | ||||
-rw-r--r-- | src/ipa/rpi/controller/device_status.cpp (renamed from src/ipa/raspberrypi/controller/device_status.cpp) | 0 | ||||
-rw-r--r-- | src/ipa/rpi/controller/device_status.h (renamed from src/ipa/raspberrypi/controller/device_status.h) | 0 | ||||
-rw-r--r-- | src/ipa/rpi/controller/dpc_status.h (renamed from src/ipa/raspberrypi/controller/dpc_status.h) | 0 | ||||
-rw-r--r-- | src/ipa/rpi/controller/geq_status.h (renamed from src/ipa/raspberrypi/controller/geq_status.h) | 0 | ||||
-rw-r--r-- | src/ipa/rpi/controller/histogram.cpp (renamed from src/ipa/raspberrypi/controller/histogram.cpp) | 0 | ||||
-rw-r--r-- | src/ipa/rpi/controller/histogram.h (renamed from src/ipa/raspberrypi/controller/histogram.h) | 0 | ||||
-rw-r--r-- | src/ipa/rpi/controller/lux_status.h (renamed from src/ipa/raspberrypi/controller/lux_status.h) | 0 | ||||
-rw-r--r-- | src/ipa/rpi/controller/meson.build | 29 | ||||
-rw-r--r-- | src/ipa/rpi/controller/metadata.h (renamed from src/ipa/raspberrypi/controller/metadata.h) | 0 | ||||
-rw-r--r-- | src/ipa/rpi/controller/noise_status.h (renamed from src/ipa/raspberrypi/controller/noise_status.h) | 0 | ||||
-rw-r--r-- | src/ipa/rpi/controller/pdaf_data.h (renamed from src/ipa/raspberrypi/controller/pdaf_data.h) | 0 | ||||
-rw-r--r-- | src/ipa/rpi/controller/pwl.cpp (renamed from src/ipa/raspberrypi/controller/pwl.cpp) | 0 | ||||
-rw-r--r-- | src/ipa/rpi/controller/pwl.h (renamed from src/ipa/raspberrypi/controller/pwl.h) | 0 | ||||
-rw-r--r-- | src/ipa/rpi/controller/region_stats.h (renamed from src/ipa/raspberrypi/controller/region_stats.h) | 0 | ||||
-rw-r--r-- | src/ipa/rpi/controller/rpi/af.cpp (renamed from src/ipa/raspberrypi/controller/rpi/af.cpp) | 0 | ||||
-rw-r--r-- | src/ipa/rpi/controller/rpi/af.h (renamed from src/ipa/raspberrypi/controller/rpi/af.h) | 0 | ||||
-rw-r--r-- | src/ipa/rpi/controller/rpi/agc.cpp (renamed from src/ipa/raspberrypi/controller/rpi/agc.cpp) | 0 | ||||
-rw-r--r-- | src/ipa/rpi/controller/rpi/agc.h (renamed from src/ipa/raspberrypi/controller/rpi/agc.h) | 0 | ||||
-rw-r--r-- | src/ipa/rpi/controller/rpi/alsc.cpp (renamed from src/ipa/raspberrypi/controller/rpi/alsc.cpp) | 0 | ||||
-rw-r--r-- | src/ipa/rpi/controller/rpi/alsc.h (renamed from src/ipa/raspberrypi/controller/rpi/alsc.h) | 0 | ||||
-rw-r--r-- | src/ipa/rpi/controller/rpi/awb.cpp (renamed from src/ipa/raspberrypi/controller/rpi/awb.cpp) | 0 | ||||
-rw-r--r-- | src/ipa/rpi/controller/rpi/awb.h (renamed from src/ipa/raspberrypi/controller/rpi/awb.h) | 0 | ||||
-rw-r--r-- | src/ipa/rpi/controller/rpi/black_level.cpp (renamed from src/ipa/raspberrypi/controller/rpi/black_level.cpp) | 0 | ||||
-rw-r--r-- | src/ipa/rpi/controller/rpi/black_level.h (renamed from src/ipa/raspberrypi/controller/rpi/black_level.h) | 0 | ||||
-rw-r--r-- | src/ipa/rpi/controller/rpi/ccm.cpp (renamed from src/ipa/raspberrypi/controller/rpi/ccm.cpp) | 0 | ||||
-rw-r--r-- | src/ipa/rpi/controller/rpi/ccm.h (renamed from src/ipa/raspberrypi/controller/rpi/ccm.h) | 0 | ||||
-rw-r--r-- | src/ipa/rpi/controller/rpi/contrast.cpp (renamed from src/ipa/raspberrypi/controller/rpi/contrast.cpp) | 0 | ||||
-rw-r--r-- | src/ipa/rpi/controller/rpi/contrast.h (renamed from src/ipa/raspberrypi/controller/rpi/contrast.h) | 0 | ||||
-rw-r--r-- | src/ipa/rpi/controller/rpi/dpc.cpp (renamed from src/ipa/raspberrypi/controller/rpi/dpc.cpp) | 0 | ||||
-rw-r--r-- | src/ipa/rpi/controller/rpi/dpc.h (renamed from src/ipa/raspberrypi/controller/rpi/dpc.h) | 0 | ||||
-rw-r--r-- | src/ipa/rpi/controller/rpi/focus.h (renamed from src/ipa/raspberrypi/controller/rpi/focus.h) | 0 | ||||
-rw-r--r-- | src/ipa/rpi/controller/rpi/geq.cpp (renamed from src/ipa/raspberrypi/controller/rpi/geq.cpp) | 0 | ||||
-rw-r--r-- | src/ipa/rpi/controller/rpi/geq.h (renamed from src/ipa/raspberrypi/controller/rpi/geq.h) | 0 | ||||
-rw-r--r-- | src/ipa/rpi/controller/rpi/lux.cpp (renamed from src/ipa/raspberrypi/controller/rpi/lux.cpp) | 0 | ||||
-rw-r--r-- | src/ipa/rpi/controller/rpi/lux.h (renamed from src/ipa/raspberrypi/controller/rpi/lux.h) | 0 | ||||
-rw-r--r-- | src/ipa/rpi/controller/rpi/noise.cpp (renamed from src/ipa/raspberrypi/controller/rpi/noise.cpp) | 0 | ||||
-rw-r--r-- | src/ipa/rpi/controller/rpi/noise.h (renamed from src/ipa/raspberrypi/controller/rpi/noise.h) | 0 | ||||
-rw-r--r-- | src/ipa/rpi/controller/rpi/sdn.cpp (renamed from src/ipa/raspberrypi/controller/rpi/sdn.cpp) | 0 | ||||
-rw-r--r-- | src/ipa/rpi/controller/rpi/sdn.h (renamed from src/ipa/raspberrypi/controller/rpi/sdn.h) | 0 | ||||
-rw-r--r-- | src/ipa/rpi/controller/rpi/sharpen.cpp (renamed from src/ipa/raspberrypi/controller/rpi/sharpen.cpp) | 0 | ||||
-rw-r--r-- | src/ipa/rpi/controller/rpi/sharpen.h (renamed from src/ipa/raspberrypi/controller/rpi/sharpen.h) | 0 | ||||
-rw-r--r-- | src/ipa/rpi/controller/sharpen_algorithm.h (renamed from src/ipa/raspberrypi/controller/sharpen_algorithm.h) | 0 | ||||
-rw-r--r-- | src/ipa/rpi/controller/sharpen_status.h (renamed from src/ipa/raspberrypi/controller/sharpen_status.h) | 0 | ||||
-rw-r--r-- | src/ipa/rpi/controller/statistics.h (renamed from src/ipa/raspberrypi/statistics.h) | 0 | ||||
-rw-r--r-- | src/ipa/rpi/meson.build | 13 | ||||
-rw-r--r-- | src/ipa/rpi/vc4/data/imx219.json (renamed from src/ipa/raspberrypi/data/imx219.json) | 0 | ||||
-rw-r--r-- | src/ipa/rpi/vc4/data/imx219_noir.json (renamed from src/ipa/raspberrypi/data/imx219_noir.json) | 0 | ||||
-rw-r--r-- | src/ipa/rpi/vc4/data/imx290.json (renamed from src/ipa/raspberrypi/data/imx290.json) | 0 | ||||
-rw-r--r-- | src/ipa/rpi/vc4/data/imx296.json (renamed from src/ipa/raspberrypi/data/imx296.json) | 0 | ||||
-rw-r--r-- | src/ipa/rpi/vc4/data/imx296_mono.json (renamed from src/ipa/raspberrypi/data/imx296_mono.json) | 0 | ||||
-rw-r--r-- | src/ipa/rpi/vc4/data/imx378.json (renamed from src/ipa/raspberrypi/data/imx378.json) | 0 | ||||
-rw-r--r-- | src/ipa/rpi/vc4/data/imx477.json (renamed from src/ipa/raspberrypi/data/imx477.json) | 0 | ||||
-rw-r--r-- | src/ipa/rpi/vc4/data/imx477_noir.json (renamed from src/ipa/raspberrypi/data/imx477_noir.json) | 0 | ||||
-rw-r--r-- | src/ipa/rpi/vc4/data/imx477_scientific.json (renamed from src/ipa/raspberrypi/data/imx477_scientific.json) | 0 | ||||
-rw-r--r-- | src/ipa/rpi/vc4/data/imx477_v1.json (renamed from src/ipa/raspberrypi/data/imx477_v1.json) | 0 | ||||
-rw-r--r-- | src/ipa/rpi/vc4/data/imx519.json (renamed from src/ipa/raspberrypi/data/imx519.json) | 0 | ||||
-rw-r--r-- | src/ipa/rpi/vc4/data/imx708.json (renamed from src/ipa/raspberrypi/data/imx708.json) | 0 | ||||
-rw-r--r-- | src/ipa/rpi/vc4/data/imx708_noir.json (renamed from src/ipa/raspberrypi/data/imx708_noir.json) | 0 | ||||
-rw-r--r-- | src/ipa/rpi/vc4/data/imx708_wide.json (renamed from src/ipa/raspberrypi/data/imx708_wide.json) | 0 | ||||
-rw-r--r-- | src/ipa/rpi/vc4/data/imx708_wide_noir.json (renamed from src/ipa/raspberrypi/data/imx708_wide_noir.json) | 0 | ||||
-rw-r--r-- | src/ipa/rpi/vc4/data/meson.build (renamed from src/ipa/raspberrypi/data/meson.build) | 2 | ||||
-rw-r--r-- | src/ipa/rpi/vc4/data/ov5647.json (renamed from src/ipa/raspberrypi/data/ov5647.json) | 0 | ||||
-rw-r--r-- | src/ipa/rpi/vc4/data/ov5647_noir.json (renamed from src/ipa/raspberrypi/data/ov5647_noir.json) | 0 | ||||
-rw-r--r-- | src/ipa/rpi/vc4/data/ov9281_mono.json (renamed from src/ipa/raspberrypi/data/ov9281_mono.json) | 0 | ||||
-rw-r--r-- | src/ipa/rpi/vc4/data/se327m12.json (renamed from src/ipa/raspberrypi/data/se327m12.json) | 0 | ||||
-rw-r--r-- | src/ipa/rpi/vc4/data/uncalibrated.json (renamed from src/ipa/raspberrypi/data/uncalibrated.json) | 0 | ||||
-rw-r--r-- | src/ipa/rpi/vc4/meson.build | 47 | ||||
-rw-r--r-- | src/ipa/rpi/vc4/raspberrypi.cpp (renamed from src/ipa/raspberrypi/raspberrypi.cpp) | 48 | ||||
-rw-r--r-- | src/libcamera/pipeline/rpi/common/delayed_controls.cpp (renamed from src/libcamera/pipeline/raspberrypi/delayed_controls.cpp) | 0 | ||||
-rw-r--r-- | src/libcamera/pipeline/rpi/common/delayed_controls.h (renamed from src/libcamera/pipeline/raspberrypi/delayed_controls.h) | 0 | ||||
-rw-r--r-- | src/libcamera/pipeline/rpi/common/meson.build | 6 | ||||
-rw-r--r-- | src/libcamera/pipeline/rpi/common/rpi_stream.cpp (renamed from src/libcamera/pipeline/raspberrypi/rpi_stream.cpp) | 0 | ||||
-rw-r--r-- | src/libcamera/pipeline/rpi/common/rpi_stream.h (renamed from src/libcamera/pipeline/raspberrypi/rpi_stream.h) | 0 | ||||
-rw-r--r-- | src/libcamera/pipeline/rpi/meson.build | 12 | ||||
-rw-r--r-- | src/libcamera/pipeline/rpi/vc4/data/example.yaml (renamed from src/libcamera/pipeline/raspberrypi/data/example.yaml) | 0 | ||||
-rw-r--r-- | src/libcamera/pipeline/rpi/vc4/data/meson.build (renamed from src/libcamera/pipeline/raspberrypi/data/meson.build) | 2 | ||||
-rw-r--r-- | src/libcamera/pipeline/rpi/vc4/dma_heaps.cpp (renamed from src/libcamera/pipeline/raspberrypi/dma_heaps.cpp) | 0 | ||||
-rw-r--r-- | src/libcamera/pipeline/rpi/vc4/dma_heaps.h (renamed from src/libcamera/pipeline/raspberrypi/dma_heaps.h) | 0 | ||||
-rw-r--r-- | src/libcamera/pipeline/rpi/vc4/meson.build (renamed from src/libcamera/pipeline/raspberrypi/meson.build) | 2 | ||||
-rw-r--r-- | src/libcamera/pipeline/rpi/vc4/raspberrypi.cpp (renamed from src/libcamera/pipeline/raspberrypi/raspberrypi.cpp) | 6 |
114 files changed, 163 insertions, 100 deletions
diff --git a/src/ipa/raspberrypi/meson.build b/src/ipa/raspberrypi/meson.build deleted file mode 100644 index 95437cbc..00000000 --- a/src/ipa/raspberrypi/meson.build +++ /dev/null @@ -1,68 +0,0 @@ -# SPDX-License-Identifier: CC0-1.0 - -ipa_name = 'ipa_rpi' - -rpi_ipa_deps = [ - libcamera_private, - libatomic, -] - -rpi_ipa_includes = [ - ipa_includes, - libipa_includes, - include_directories('controller') -] - -rpi_ipa_sources = files([ - 'raspberrypi.cpp', - 'md_parser_smia.cpp', - 'cam_helper.cpp', - 'cam_helper_ov5647.cpp', - 'cam_helper_imx219.cpp', - 'cam_helper_imx290.cpp', - 'cam_helper_imx296.cpp', - 'cam_helper_imx477.cpp', - 'cam_helper_imx519.cpp', - 'cam_helper_imx708.cpp', - 'cam_helper_ov9281.cpp', - 'controller/controller.cpp', - 'controller/histogram.cpp', - 'controller/algorithm.cpp', - 'controller/rpi/af.cpp', - 'controller/rpi/alsc.cpp', - 'controller/rpi/awb.cpp', - 'controller/rpi/sharpen.cpp', - 'controller/rpi/black_level.cpp', - 'controller/rpi/geq.cpp', - 'controller/rpi/noise.cpp', - 'controller/rpi/lux.cpp', - 'controller/rpi/agc.cpp', - 'controller/rpi/dpc.cpp', - 'controller/rpi/ccm.cpp', - 'controller/rpi/contrast.cpp', - 'controller/rpi/sdn.cpp', - 'controller/pwl.cpp', - 'controller/device_status.cpp', -]) - -mod = shared_module(ipa_name, - [rpi_ipa_sources, libcamera_generated_ipa_headers], - name_prefix : '', - include_directories : rpi_ipa_includes, - dependencies : rpi_ipa_deps, - link_with : libipa, - install : true, - install_dir : ipa_install_dir) - -if ipa_sign_module - custom_target(ipa_name + '.so.sign', - input : mod, - output : ipa_name + '.so.sign', - command : [ipa_sign, ipa_priv_key, '@INPUT@', '@OUTPUT@'], - install : false, - build_by_default : true) -endif - -subdir('data') - -ipa_names += ipa_name diff --git a/src/ipa/raspberrypi/README.md b/src/ipa/rpi/README.md index 94a8ccc8..94a8ccc8 100644 --- a/src/ipa/raspberrypi/README.md +++ b/src/ipa/rpi/README.md diff --git a/src/ipa/raspberrypi/cam_helper.cpp b/src/ipa/rpi/cam_helper/cam_helper.cpp index ddd5e9a4..ddd5e9a4 100644 --- a/src/ipa/raspberrypi/cam_helper.cpp +++ b/src/ipa/rpi/cam_helper/cam_helper.cpp diff --git a/src/ipa/raspberrypi/cam_helper.h b/src/ipa/rpi/cam_helper/cam_helper.h index b3f8c980..58a4b202 100644 --- a/src/ipa/raspberrypi/cam_helper.h +++ b/src/ipa/rpi/cam_helper/cam_helper.h @@ -13,7 +13,7 @@ #include <libcamera/base/span.h> #include <libcamera/base/utils.h> -#include "camera_mode.h" +#include "controller/camera_mode.h" #include "controller/controller.h" #include "controller/metadata.h" #include "md_parser.h" diff --git a/src/ipa/raspberrypi/cam_helper_imx219.cpp b/src/ipa/rpi/cam_helper/cam_helper_imx219.cpp index c3337ed0..c3337ed0 100644 --- a/src/ipa/raspberrypi/cam_helper_imx219.cpp +++ b/src/ipa/rpi/cam_helper/cam_helper_imx219.cpp diff --git a/src/ipa/raspberrypi/cam_helper_imx290.cpp b/src/ipa/rpi/cam_helper/cam_helper_imx290.cpp index 7d6f5b54..7d6f5b54 100644 --- a/src/ipa/raspberrypi/cam_helper_imx290.cpp +++ b/src/ipa/rpi/cam_helper/cam_helper_imx290.cpp diff --git a/src/ipa/raspberrypi/cam_helper_imx296.cpp b/src/ipa/rpi/cam_helper/cam_helper_imx296.cpp index ecb845e7..ecb845e7 100644 --- a/src/ipa/raspberrypi/cam_helper_imx296.cpp +++ b/src/ipa/rpi/cam_helper/cam_helper_imx296.cpp diff --git a/src/ipa/raspberrypi/cam_helper_imx477.cpp b/src/ipa/rpi/cam_helper/cam_helper_imx477.cpp index bc769ca7..bc769ca7 100644 --- a/src/ipa/raspberrypi/cam_helper_imx477.cpp +++ b/src/ipa/rpi/cam_helper/cam_helper_imx477.cpp diff --git a/src/ipa/raspberrypi/cam_helper_imx519.cpp b/src/ipa/rpi/cam_helper/cam_helper_imx519.cpp index c7262aa0..c7262aa0 100644 --- a/src/ipa/raspberrypi/cam_helper_imx519.cpp +++ b/src/ipa/rpi/cam_helper/cam_helper_imx519.cpp diff --git a/src/ipa/raspberrypi/cam_helper_imx708.cpp b/src/ipa/rpi/cam_helper/cam_helper_imx708.cpp index 641ba18f..641ba18f 100644 --- a/src/ipa/raspberrypi/cam_helper_imx708.cpp +++ b/src/ipa/rpi/cam_helper/cam_helper_imx708.cpp diff --git a/src/ipa/raspberrypi/cam_helper_ov5647.cpp b/src/ipa/rpi/cam_helper/cam_helper_ov5647.cpp index 5a99083d..5a99083d 100644 --- a/src/ipa/raspberrypi/cam_helper_ov5647.cpp +++ b/src/ipa/rpi/cam_helper/cam_helper_ov5647.cpp diff --git a/src/ipa/raspberrypi/cam_helper_ov9281.cpp b/src/ipa/rpi/cam_helper/cam_helper_ov9281.cpp index 86c5bc4c..86c5bc4c 100644 --- a/src/ipa/raspberrypi/cam_helper_ov9281.cpp +++ b/src/ipa/rpi/cam_helper/cam_helper_ov9281.cpp diff --git a/src/ipa/raspberrypi/md_parser.h b/src/ipa/rpi/cam_helper/md_parser.h index 77d557aa..77d557aa 100644 --- a/src/ipa/raspberrypi/md_parser.h +++ b/src/ipa/rpi/cam_helper/md_parser.h diff --git a/src/ipa/raspberrypi/md_parser_smia.cpp b/src/ipa/rpi/cam_helper/md_parser_smia.cpp index 210787ed..210787ed 100644 --- a/src/ipa/raspberrypi/md_parser_smia.cpp +++ b/src/ipa/rpi/cam_helper/md_parser_smia.cpp diff --git a/src/ipa/rpi/cam_helper/meson.build b/src/ipa/rpi/cam_helper/meson.build new file mode 100644 index 00000000..bdf2db8e --- /dev/null +++ b/src/ipa/rpi/cam_helper/meson.build @@ -0,0 +1,26 @@ +# SPDX-License-Identifier: CC0-1.0 + +rpi_ipa_cam_helper_sources = files([ + 'cam_helper.cpp', + 'cam_helper_ov5647.cpp', + 'cam_helper_imx219.cpp', + 'cam_helper_imx290.cpp', + 'cam_helper_imx296.cpp', + 'cam_helper_imx477.cpp', + 'cam_helper_imx519.cpp', + 'cam_helper_imx708.cpp', + 'cam_helper_ov9281.cpp', + 'md_parser_smia.cpp', +]) + +rpi_ipa_cam_helper_includes = [ + include_directories('..'), +] + +rpi_ipa_cam_helper_deps = [ + libcamera_private, +] + +rpi_ipa_cam_helper_lib = static_library('rpi_ipa_cam_helper', rpi_ipa_cam_helper_sources, + include_directories : rpi_ipa_cam_helper_includes, + dependencies : rpi_ipa_cam_helper_deps) diff --git a/src/ipa/raspberrypi/controller/af_algorithm.h b/src/ipa/rpi/controller/af_algorithm.h index ad9b5754..ad9b5754 100644 --- a/src/ipa/raspberrypi/controller/af_algorithm.h +++ b/src/ipa/rpi/controller/af_algorithm.h diff --git a/src/ipa/raspberrypi/controller/af_status.h b/src/ipa/rpi/controller/af_status.h index 92c08812..92c08812 100644 --- a/src/ipa/raspberrypi/controller/af_status.h +++ b/src/ipa/rpi/controller/af_status.h diff --git a/src/ipa/raspberrypi/controller/agc_algorithm.h b/src/ipa/rpi/controller/agc_algorithm.h index 36e6c110..36e6c110 100644 --- a/src/ipa/raspberrypi/controller/agc_algorithm.h +++ b/src/ipa/rpi/controller/agc_algorithm.h diff --git a/src/ipa/raspberrypi/controller/agc_status.h b/src/ipa/rpi/controller/agc_status.h index 6abf09d9..6abf09d9 100644 --- a/src/ipa/raspberrypi/controller/agc_status.h +++ b/src/ipa/rpi/controller/agc_status.h diff --git a/src/ipa/raspberrypi/controller/algorithm.cpp b/src/ipa/rpi/controller/algorithm.cpp index a957fde5..a957fde5 100644 --- a/src/ipa/raspberrypi/controller/algorithm.cpp +++ b/src/ipa/rpi/controller/algorithm.cpp diff --git a/src/ipa/raspberrypi/controller/algorithm.h b/src/ipa/rpi/controller/algorithm.h index 4aa814eb..4aa814eb 100644 --- a/src/ipa/raspberrypi/controller/algorithm.h +++ b/src/ipa/rpi/controller/algorithm.h diff --git a/src/ipa/raspberrypi/controller/alsc_status.h b/src/ipa/rpi/controller/alsc_status.h index 49a9f4a0..49a9f4a0 100644 --- a/src/ipa/raspberrypi/controller/alsc_status.h +++ b/src/ipa/rpi/controller/alsc_status.h diff --git a/src/ipa/raspberrypi/controller/awb_algorithm.h b/src/ipa/rpi/controller/awb_algorithm.h index 8462c4db..8462c4db 100644 --- a/src/ipa/raspberrypi/controller/awb_algorithm.h +++ b/src/ipa/rpi/controller/awb_algorithm.h diff --git a/src/ipa/raspberrypi/controller/awb_status.h b/src/ipa/rpi/controller/awb_status.h index dd5a79e3..dd5a79e3 100644 --- a/src/ipa/raspberrypi/controller/awb_status.h +++ b/src/ipa/rpi/controller/awb_status.h diff --git a/src/ipa/raspberrypi/controller/black_level_status.h b/src/ipa/rpi/controller/black_level_status.h index fd5e4ccb..fd5e4ccb 100644 --- a/src/ipa/raspberrypi/controller/black_level_status.h +++ b/src/ipa/rpi/controller/black_level_status.h diff --git a/src/ipa/raspberrypi/controller/camera_mode.h b/src/ipa/rpi/controller/camera_mode.h index 63b11778..63b11778 100644 --- a/src/ipa/raspberrypi/controller/camera_mode.h +++ b/src/ipa/rpi/controller/camera_mode.h diff --git a/src/ipa/raspberrypi/controller/ccm_algorithm.h b/src/ipa/rpi/controller/ccm_algorithm.h index e2c4d771..e2c4d771 100644 --- a/src/ipa/raspberrypi/controller/ccm_algorithm.h +++ b/src/ipa/rpi/controller/ccm_algorithm.h diff --git a/src/ipa/raspberrypi/controller/ccm_status.h b/src/ipa/rpi/controller/ccm_status.h index 5e28ee7c..5e28ee7c 100644 --- a/src/ipa/raspberrypi/controller/ccm_status.h +++ b/src/ipa/rpi/controller/ccm_status.h diff --git a/src/ipa/raspberrypi/controller/contrast_algorithm.h b/src/ipa/rpi/controller/contrast_algorithm.h index ce17a4f9..ce17a4f9 100644 --- a/src/ipa/raspberrypi/controller/contrast_algorithm.h +++ b/src/ipa/rpi/controller/contrast_algorithm.h diff --git a/src/ipa/raspberrypi/controller/contrast_status.h b/src/ipa/rpi/controller/contrast_status.h index fb9fe4ba..fb9fe4ba 100644 --- a/src/ipa/raspberrypi/controller/contrast_status.h +++ b/src/ipa/rpi/controller/contrast_status.h diff --git a/src/ipa/raspberrypi/controller/controller.cpp b/src/ipa/rpi/controller/controller.cpp index fa172113..fa172113 100644 --- a/src/ipa/raspberrypi/controller/controller.cpp +++ b/src/ipa/rpi/controller/controller.cpp diff --git a/src/ipa/raspberrypi/controller/controller.h b/src/ipa/rpi/controller/controller.h index c6af5cd6..c6af5cd6 100644 --- a/src/ipa/raspberrypi/controller/controller.h +++ b/src/ipa/rpi/controller/controller.h diff --git a/src/ipa/raspberrypi/controller/denoise_algorithm.h b/src/ipa/rpi/controller/denoise_algorithm.h index 52009ba9..52009ba9 100644 --- a/src/ipa/raspberrypi/controller/denoise_algorithm.h +++ b/src/ipa/rpi/controller/denoise_algorithm.h diff --git a/src/ipa/raspberrypi/controller/denoise_status.h b/src/ipa/rpi/controller/denoise_status.h index f6b9ee29..f6b9ee29 100644 --- a/src/ipa/raspberrypi/controller/denoise_status.h +++ b/src/ipa/rpi/controller/denoise_status.h diff --git a/src/ipa/raspberrypi/controller/device_status.cpp b/src/ipa/rpi/controller/device_status.cpp index c907efdd..c907efdd 100644 --- a/src/ipa/raspberrypi/controller/device_status.cpp +++ b/src/ipa/rpi/controller/device_status.cpp diff --git a/src/ipa/raspberrypi/controller/device_status.h b/src/ipa/rpi/controller/device_status.h index c45db749..c45db749 100644 --- a/src/ipa/raspberrypi/controller/device_status.h +++ b/src/ipa/rpi/controller/device_status.h diff --git a/src/ipa/raspberrypi/controller/dpc_status.h b/src/ipa/rpi/controller/dpc_status.h index 46d0cf34..46d0cf34 100644 --- a/src/ipa/raspberrypi/controller/dpc_status.h +++ b/src/ipa/rpi/controller/dpc_status.h diff --git a/src/ipa/raspberrypi/controller/geq_status.h b/src/ipa/rpi/controller/geq_status.h index 2d749fc9..2d749fc9 100644 --- a/src/ipa/raspberrypi/controller/geq_status.h +++ b/src/ipa/rpi/controller/geq_status.h diff --git a/src/ipa/raspberrypi/controller/histogram.cpp b/src/ipa/rpi/controller/histogram.cpp index 16a9207f..16a9207f 100644 --- a/src/ipa/raspberrypi/controller/histogram.cpp +++ b/src/ipa/rpi/controller/histogram.cpp diff --git a/src/ipa/raspberrypi/controller/histogram.h b/src/ipa/rpi/controller/histogram.h index 6b3e3a9e..6b3e3a9e 100644 --- a/src/ipa/raspberrypi/controller/histogram.h +++ b/src/ipa/rpi/controller/histogram.h diff --git a/src/ipa/raspberrypi/controller/lux_status.h b/src/ipa/rpi/controller/lux_status.h index 5eb9faac..5eb9faac 100644 --- a/src/ipa/raspberrypi/controller/lux_status.h +++ b/src/ipa/rpi/controller/lux_status.h diff --git a/src/ipa/rpi/controller/meson.build b/src/ipa/rpi/controller/meson.build new file mode 100644 index 00000000..feb0334e --- /dev/null +++ b/src/ipa/rpi/controller/meson.build @@ -0,0 +1,29 @@ +# SPDX-License-Identifier: CC0-1.0 + +rpi_ipa_controller_sources = files([ + 'algorithm.cpp', + 'controller.cpp', + 'device_status.cpp', + 'histogram.cpp', + 'pwl.cpp', + 'rpi/af.cpp', + 'rpi/agc.cpp', + 'rpi/alsc.cpp', + 'rpi/awb.cpp', + 'rpi/black_level.cpp', + 'rpi/ccm.cpp', + 'rpi/contrast.cpp', + 'rpi/dpc.cpp', + 'rpi/geq.cpp', + 'rpi/lux.cpp', + 'rpi/noise.cpp', + 'rpi/sdn.cpp', + 'rpi/sharpen.cpp', +]) + +rpi_ipa_controller_deps = [ + libcamera_private, +] + +rpi_ipa_controller_lib = static_library('rpi_ipa_controller', rpi_ipa_controller_sources, + dependencies : rpi_ipa_controller_deps) diff --git a/src/ipa/raspberrypi/controller/metadata.h b/src/ipa/rpi/controller/metadata.h index bf8a2393..bf8a2393 100644 --- a/src/ipa/raspberrypi/controller/metadata.h +++ b/src/ipa/rpi/controller/metadata.h diff --git a/src/ipa/raspberrypi/controller/noise_status.h b/src/ipa/rpi/controller/noise_status.h index da194f71..da194f71 100644 --- a/src/ipa/raspberrypi/controller/noise_status.h +++ b/src/ipa/rpi/controller/noise_status.h diff --git a/src/ipa/raspberrypi/controller/pdaf_data.h b/src/ipa/rpi/controller/pdaf_data.h index 470510f2..470510f2 100644 --- a/src/ipa/raspberrypi/controller/pdaf_data.h +++ b/src/ipa/rpi/controller/pdaf_data.h diff --git a/src/ipa/raspberrypi/controller/pwl.cpp b/src/ipa/rpi/controller/pwl.cpp index 70c2e24b..70c2e24b 100644 --- a/src/ipa/raspberrypi/controller/pwl.cpp +++ b/src/ipa/rpi/controller/pwl.cpp diff --git a/src/ipa/raspberrypi/controller/pwl.h b/src/ipa/rpi/controller/pwl.h index aacf6039..aacf6039 100644 --- a/src/ipa/raspberrypi/controller/pwl.h +++ b/src/ipa/rpi/controller/pwl.h diff --git a/src/ipa/raspberrypi/controller/region_stats.h b/src/ipa/rpi/controller/region_stats.h index a8860dc8..a8860dc8 100644 --- a/src/ipa/raspberrypi/controller/region_stats.h +++ b/src/ipa/rpi/controller/region_stats.h diff --git a/src/ipa/raspberrypi/controller/rpi/af.cpp b/src/ipa/rpi/controller/rpi/af.cpp index ed0c8a94..ed0c8a94 100644 --- a/src/ipa/raspberrypi/controller/rpi/af.cpp +++ b/src/ipa/rpi/controller/rpi/af.cpp diff --git a/src/ipa/raspberrypi/controller/rpi/af.h b/src/ipa/rpi/controller/rpi/af.h index 6d2bae67..6d2bae67 100644 --- a/src/ipa/raspberrypi/controller/rpi/af.h +++ b/src/ipa/rpi/controller/rpi/af.h diff --git a/src/ipa/raspberrypi/controller/rpi/agc.cpp b/src/ipa/rpi/controller/rpi/agc.cpp index e6fb7b8d..e6fb7b8d 100644 --- a/src/ipa/raspberrypi/controller/rpi/agc.cpp +++ b/src/ipa/rpi/controller/rpi/agc.cpp diff --git a/src/ipa/raspberrypi/controller/rpi/agc.h b/src/ipa/rpi/controller/rpi/agc.h index 4e5f272f..4e5f272f 100644 --- a/src/ipa/raspberrypi/controller/rpi/agc.h +++ b/src/ipa/rpi/controller/rpi/agc.h diff --git a/src/ipa/raspberrypi/controller/rpi/alsc.cpp b/src/ipa/rpi/controller/rpi/alsc.cpp index 3a2e8fe0..3a2e8fe0 100644 --- a/src/ipa/raspberrypi/controller/rpi/alsc.cpp +++ b/src/ipa/rpi/controller/rpi/alsc.cpp diff --git a/src/ipa/raspberrypi/controller/rpi/alsc.h b/src/ipa/rpi/controller/rpi/alsc.h index 0b6d9478..0b6d9478 100644 --- a/src/ipa/raspberrypi/controller/rpi/alsc.h +++ b/src/ipa/rpi/controller/rpi/alsc.h diff --git a/src/ipa/raspberrypi/controller/rpi/awb.cpp b/src/ipa/rpi/controller/rpi/awb.cpp index ef3435d6..ef3435d6 100644 --- a/src/ipa/raspberrypi/controller/rpi/awb.cpp +++ b/src/ipa/rpi/controller/rpi/awb.cpp diff --git a/src/ipa/raspberrypi/controller/rpi/awb.h b/src/ipa/rpi/controller/rpi/awb.h index e7d49cd8..e7d49cd8 100644 --- a/src/ipa/raspberrypi/controller/rpi/awb.h +++ b/src/ipa/rpi/controller/rpi/awb.h diff --git a/src/ipa/raspberrypi/controller/rpi/black_level.cpp b/src/ipa/rpi/controller/rpi/black_level.cpp index 85baec3f..85baec3f 100644 --- a/src/ipa/raspberrypi/controller/rpi/black_level.cpp +++ b/src/ipa/rpi/controller/rpi/black_level.cpp diff --git a/src/ipa/raspberrypi/controller/rpi/black_level.h b/src/ipa/rpi/controller/rpi/black_level.h index 2403f7f7..2403f7f7 100644 --- a/src/ipa/raspberrypi/controller/rpi/black_level.h +++ b/src/ipa/rpi/controller/rpi/black_level.h diff --git a/src/ipa/raspberrypi/controller/rpi/ccm.cpp b/src/ipa/rpi/controller/rpi/ccm.cpp index 2e2e6664..2e2e6664 100644 --- a/src/ipa/raspberrypi/controller/rpi/ccm.cpp +++ b/src/ipa/rpi/controller/rpi/ccm.cpp diff --git a/src/ipa/raspberrypi/controller/rpi/ccm.h b/src/ipa/rpi/controller/rpi/ccm.h index 286d0b33..286d0b33 100644 --- a/src/ipa/raspberrypi/controller/rpi/ccm.h +++ b/src/ipa/rpi/controller/rpi/ccm.h diff --git a/src/ipa/raspberrypi/controller/rpi/contrast.cpp b/src/ipa/rpi/controller/rpi/contrast.cpp index bee1eadd..bee1eadd 100644 --- a/src/ipa/raspberrypi/controller/rpi/contrast.cpp +++ b/src/ipa/rpi/controller/rpi/contrast.cpp diff --git a/src/ipa/raspberrypi/controller/rpi/contrast.h b/src/ipa/rpi/controller/rpi/contrast.h index 9c81277a..9c81277a 100644 --- a/src/ipa/raspberrypi/controller/rpi/contrast.h +++ b/src/ipa/rpi/controller/rpi/contrast.h diff --git a/src/ipa/raspberrypi/controller/rpi/dpc.cpp b/src/ipa/rpi/controller/rpi/dpc.cpp index be3871df..be3871df 100644 --- a/src/ipa/raspberrypi/controller/rpi/dpc.cpp +++ b/src/ipa/rpi/controller/rpi/dpc.cpp diff --git a/src/ipa/raspberrypi/controller/rpi/dpc.h b/src/ipa/rpi/controller/rpi/dpc.h index 84a05604..84a05604 100644 --- a/src/ipa/raspberrypi/controller/rpi/dpc.h +++ b/src/ipa/rpi/controller/rpi/dpc.h diff --git a/src/ipa/raspberrypi/controller/rpi/focus.h b/src/ipa/rpi/controller/rpi/focus.h index 8556039d..8556039d 100644 --- a/src/ipa/raspberrypi/controller/rpi/focus.h +++ b/src/ipa/rpi/controller/rpi/focus.h diff --git a/src/ipa/raspberrypi/controller/rpi/geq.cpp b/src/ipa/rpi/controller/rpi/geq.cpp index 510870e9..510870e9 100644 --- a/src/ipa/raspberrypi/controller/rpi/geq.cpp +++ b/src/ipa/rpi/controller/rpi/geq.cpp diff --git a/src/ipa/raspberrypi/controller/rpi/geq.h b/src/ipa/rpi/controller/rpi/geq.h index ee3a52ff..ee3a52ff 100644 --- a/src/ipa/raspberrypi/controller/rpi/geq.h +++ b/src/ipa/rpi/controller/rpi/geq.h diff --git a/src/ipa/raspberrypi/controller/rpi/lux.cpp b/src/ipa/rpi/controller/rpi/lux.cpp index 06625f3a..06625f3a 100644 --- a/src/ipa/raspberrypi/controller/rpi/lux.cpp +++ b/src/ipa/rpi/controller/rpi/lux.cpp diff --git a/src/ipa/raspberrypi/controller/rpi/lux.h b/src/ipa/rpi/controller/rpi/lux.h index 89411a54..89411a54 100644 --- a/src/ipa/raspberrypi/controller/rpi/lux.h +++ b/src/ipa/rpi/controller/rpi/lux.h diff --git a/src/ipa/raspberrypi/controller/rpi/noise.cpp b/src/ipa/rpi/controller/rpi/noise.cpp index bcd8b9ed..bcd8b9ed 100644 --- a/src/ipa/raspberrypi/controller/rpi/noise.cpp +++ b/src/ipa/rpi/controller/rpi/noise.cpp diff --git a/src/ipa/raspberrypi/controller/rpi/noise.h b/src/ipa/rpi/controller/rpi/noise.h index 74c31e64..74c31e64 100644 --- a/src/ipa/raspberrypi/controller/rpi/noise.h +++ b/src/ipa/rpi/controller/rpi/noise.h diff --git a/src/ipa/raspberrypi/controller/rpi/sdn.cpp b/src/ipa/rpi/controller/rpi/sdn.cpp index b6b66251..b6b66251 100644 --- a/src/ipa/raspberrypi/controller/rpi/sdn.cpp +++ b/src/ipa/rpi/controller/rpi/sdn.cpp diff --git a/src/ipa/raspberrypi/controller/rpi/sdn.h b/src/ipa/rpi/controller/rpi/sdn.h index 9dd73c38..9dd73c38 100644 --- a/src/ipa/raspberrypi/controller/rpi/sdn.h +++ b/src/ipa/rpi/controller/rpi/sdn.h diff --git a/src/ipa/raspberrypi/controller/rpi/sharpen.cpp b/src/ipa/rpi/controller/rpi/sharpen.cpp index 4f6f020a..4f6f020a 100644 --- a/src/ipa/raspberrypi/controller/rpi/sharpen.cpp +++ b/src/ipa/rpi/controller/rpi/sharpen.cpp diff --git a/src/ipa/raspberrypi/controller/rpi/sharpen.h b/src/ipa/rpi/controller/rpi/sharpen.h index 8bb7631e..8bb7631e 100644 --- a/src/ipa/raspberrypi/controller/rpi/sharpen.h +++ b/src/ipa/rpi/controller/rpi/sharpen.h diff --git a/src/ipa/raspberrypi/controller/sharpen_algorithm.h b/src/ipa/rpi/controller/sharpen_algorithm.h index 3be21c32..3be21c32 100644 --- a/src/ipa/raspberrypi/controller/sharpen_algorithm.h +++ b/src/ipa/rpi/controller/sharpen_algorithm.h diff --git a/src/ipa/raspberrypi/controller/sharpen_status.h b/src/ipa/rpi/controller/sharpen_status.h index 106166db..106166db 100644 --- a/src/ipa/raspberrypi/controller/sharpen_status.h +++ b/src/ipa/rpi/controller/sharpen_status.h diff --git a/src/ipa/raspberrypi/statistics.h b/src/ipa/rpi/controller/statistics.h index 015d4efc..015d4efc 100644 --- a/src/ipa/raspberrypi/statistics.h +++ b/src/ipa/rpi/controller/statistics.h diff --git a/src/ipa/rpi/meson.build b/src/ipa/rpi/meson.build new file mode 100644 index 00000000..7d7a61f7 --- /dev/null +++ b/src/ipa/rpi/meson.build @@ -0,0 +1,13 @@ +# SPDX-License-Identifier: CC0-1.0 + +subdir('cam_helper') +subdir('controller') + +foreach pipeline : pipelines + pipeline = pipeline.split('/') + if pipeline.length() < 2 or pipeline[0] != 'rpi' + continue + endif + + subdir(pipeline[1]) +endforeach diff --git a/src/ipa/raspberrypi/data/imx219.json b/src/ipa/rpi/vc4/data/imx219.json index efe7210a..efe7210a 100644 --- a/src/ipa/raspberrypi/data/imx219.json +++ b/src/ipa/rpi/vc4/data/imx219.json diff --git a/src/ipa/raspberrypi/data/imx219_noir.json b/src/ipa/rpi/vc4/data/imx219_noir.json index cfedb943..cfedb943 100644 --- a/src/ipa/raspberrypi/data/imx219_noir.json +++ b/src/ipa/rpi/vc4/data/imx219_noir.json diff --git a/src/ipa/raspberrypi/data/imx290.json b/src/ipa/rpi/vc4/data/imx290.json index ace68d0e..ace68d0e 100644 --- a/src/ipa/raspberrypi/data/imx290.json +++ b/src/ipa/rpi/vc4/data/imx290.json diff --git a/src/ipa/raspberrypi/data/imx296.json b/src/ipa/rpi/vc4/data/imx296.json index ae8722c4..ae8722c4 100644 --- a/src/ipa/raspberrypi/data/imx296.json +++ b/src/ipa/rpi/vc4/data/imx296.json diff --git a/src/ipa/raspberrypi/data/imx296_mono.json b/src/ipa/rpi/vc4/data/imx296_mono.json index 30965b4b..30965b4b 100644 --- a/src/ipa/raspberrypi/data/imx296_mono.json +++ b/src/ipa/rpi/vc4/data/imx296_mono.json diff --git a/src/ipa/raspberrypi/data/imx378.json b/src/ipa/rpi/vc4/data/imx378.json index 8b4ed225..8b4ed225 100644 --- a/src/ipa/raspberrypi/data/imx378.json +++ b/src/ipa/rpi/vc4/data/imx378.json diff --git a/src/ipa/raspberrypi/data/imx477.json b/src/ipa/rpi/vc4/data/imx477.json index daffc268..daffc268 100644 --- a/src/ipa/raspberrypi/data/imx477.json +++ b/src/ipa/rpi/vc4/data/imx477.json diff --git a/src/ipa/raspberrypi/data/imx477_noir.json b/src/ipa/rpi/vc4/data/imx477_noir.json index 52d7f072..52d7f072 100644 --- a/src/ipa/raspberrypi/data/imx477_noir.json +++ b/src/ipa/rpi/vc4/data/imx477_noir.json diff --git a/src/ipa/raspberrypi/data/imx477_scientific.json b/src/ipa/rpi/vc4/data/imx477_scientific.json index 26c692fd..26c692fd 100644 --- a/src/ipa/raspberrypi/data/imx477_scientific.json +++ b/src/ipa/rpi/vc4/data/imx477_scientific.json diff --git a/src/ipa/raspberrypi/data/imx477_v1.json b/src/ipa/rpi/vc4/data/imx477_v1.json index d6402009..d6402009 100644 --- a/src/ipa/raspberrypi/data/imx477_v1.json +++ b/src/ipa/rpi/vc4/data/imx477_v1.json diff --git a/src/ipa/raspberrypi/data/imx519.json b/src/ipa/rpi/vc4/data/imx519.json index 8ccfd3a6..8ccfd3a6 100644 --- a/src/ipa/raspberrypi/data/imx519.json +++ b/src/ipa/rpi/vc4/data/imx519.json diff --git a/src/ipa/raspberrypi/data/imx708.json b/src/ipa/rpi/vc4/data/imx708.json index b9830a3b..b9830a3b 100644 --- a/src/ipa/raspberrypi/data/imx708.json +++ b/src/ipa/rpi/vc4/data/imx708.json diff --git a/src/ipa/raspberrypi/data/imx708_noir.json b/src/ipa/rpi/vc4/data/imx708_noir.json index 075f7035..075f7035 100644 --- a/src/ipa/raspberrypi/data/imx708_noir.json +++ b/src/ipa/rpi/vc4/data/imx708_noir.json diff --git a/src/ipa/raspberrypi/data/imx708_wide.json b/src/ipa/rpi/vc4/data/imx708_wide.json index b772efee..b772efee 100644 --- a/src/ipa/raspberrypi/data/imx708_wide.json +++ b/src/ipa/rpi/vc4/data/imx708_wide.json diff --git a/src/ipa/raspberrypi/data/imx708_wide_noir.json b/src/ipa/rpi/vc4/data/imx708_wide_noir.json index c5f6b53d..c5f6b53d 100644 --- a/src/ipa/raspberrypi/data/imx708_wide_noir.json +++ b/src/ipa/rpi/vc4/data/imx708_wide_noir.json diff --git a/src/ipa/raspberrypi/data/meson.build b/src/ipa/rpi/vc4/data/meson.build index b163a052..bcf5658b 100644 --- a/src/ipa/raspberrypi/data/meson.build +++ b/src/ipa/rpi/vc4/data/meson.build @@ -23,4 +23,4 @@ conf_files = files([ ]) install_data(conf_files, - install_dir : ipa_data_dir / 'raspberrypi') + install_dir : ipa_data_dir / 'rpi' / 'vc4') diff --git a/src/ipa/raspberrypi/data/ov5647.json b/src/ipa/rpi/vc4/data/ov5647.json index d770e44f..d770e44f 100644 --- a/src/ipa/raspberrypi/data/ov5647.json +++ b/src/ipa/rpi/vc4/data/ov5647.json diff --git a/src/ipa/raspberrypi/data/ov5647_noir.json b/src/ipa/rpi/vc4/data/ov5647_noir.json index a6c6722f..a6c6722f 100644 --- a/src/ipa/raspberrypi/data/ov5647_noir.json +++ b/src/ipa/rpi/vc4/data/ov5647_noir.json diff --git a/src/ipa/raspberrypi/data/ov9281_mono.json b/src/ipa/rpi/vc4/data/ov9281_mono.json index 37944c63..37944c63 100644 --- a/src/ipa/raspberrypi/data/ov9281_mono.json +++ b/src/ipa/rpi/vc4/data/ov9281_mono.json diff --git a/src/ipa/raspberrypi/data/se327m12.json b/src/ipa/rpi/vc4/data/se327m12.json index ee69caea..ee69caea 100644 --- a/src/ipa/raspberrypi/data/se327m12.json +++ b/src/ipa/rpi/vc4/data/se327m12.json diff --git a/src/ipa/raspberrypi/data/uncalibrated.json b/src/ipa/rpi/vc4/data/uncalibrated.json index 13eb3f17..13eb3f17 100644 --- a/src/ipa/raspberrypi/data/uncalibrated.json +++ b/src/ipa/rpi/vc4/data/uncalibrated.json diff --git a/src/ipa/rpi/vc4/meson.build b/src/ipa/rpi/vc4/meson.build new file mode 100644 index 00000000..df01c150 --- /dev/null +++ b/src/ipa/rpi/vc4/meson.build @@ -0,0 +1,47 @@ +# SPDX-License-Identifier: CC0-1.0 + +ipa_name = 'ipa_rpi_vc4' + +vc4_ipa_deps = [ + libcamera_private, + libatomic, +] + +vc4_ipa_libs = [ + rpi_ipa_cam_helper_lib, + rpi_ipa_controller_lib +] + +vc4_ipa_includes = [ + ipa_includes, + libipa_includes, +] + +vc4_ipa_sources = files([ + 'raspberrypi.cpp', +]) + +vc4_ipa_includes += include_directories('..') + +mod = shared_module(ipa_name, + [vc4_ipa_sources, libcamera_generated_ipa_headers], + name_prefix : '', + include_directories : vc4_ipa_includes, + dependencies : vc4_ipa_deps, + link_with : libipa, + link_whole : vc4_ipa_libs, + install : true, + install_dir : ipa_install_dir) + +if ipa_sign_module + custom_target(ipa_name + '.so.sign', + input : mod, + output : ipa_name + '.so.sign', + command : [ipa_sign, ipa_priv_key, '@INPUT@', '@OUTPUT@'], + install : false, + build_by_default : true) +endif + +subdir('data') + +ipa_names += ipa_name diff --git a/src/ipa/raspberrypi/raspberrypi.cpp b/src/ipa/rpi/vc4/raspberrypi.cpp index 9c29fa9a..5d3bf4ca 100644 --- a/src/ipa/raspberrypi/raspberrypi.cpp +++ b/src/ipa/rpi/vc4/raspberrypi.cpp @@ -33,29 +33,29 @@ #include "libcamera/internal/mapped_framebuffer.h" -#include "af_algorithm.h" -#include "af_status.h" -#include "agc_algorithm.h" -#include "agc_status.h" -#include "alsc_status.h" -#include "awb_algorithm.h" -#include "awb_status.h" -#include "black_level_status.h" -#include "cam_helper.h" -#include "ccm_algorithm.h" -#include "ccm_status.h" -#include "contrast_algorithm.h" -#include "contrast_status.h" -#include "controller.h" -#include "denoise_algorithm.h" -#include "denoise_status.h" -#include "dpc_status.h" -#include "geq_status.h" -#include "lux_status.h" -#include "metadata.h" -#include "sharpen_algorithm.h" -#include "sharpen_status.h" -#include "statistics.h" +#include "cam_helper/cam_helper.h" +#include "controller/af_algorithm.h" +#include "controller/af_status.h" +#include "controller/agc_algorithm.h" +#include "controller/agc_status.h" +#include "controller/alsc_status.h" +#include "controller/awb_algorithm.h" +#include "controller/awb_status.h" +#include "controller/black_level_status.h" +#include "controller/ccm_algorithm.h" +#include "controller/ccm_status.h" +#include "controller/contrast_algorithm.h" +#include "controller/contrast_status.h" +#include "controller/controller.h" +#include "controller/denoise_algorithm.h" +#include "controller/denoise_status.h" +#include "controller/dpc_status.h" +#include "controller/geq_status.h" +#include "controller/lux_status.h" +#include "controller/metadata.h" +#include "controller/sharpen_algorithm.h" +#include "controller/sharpen_status.h" +#include "controller/statistics.h" namespace libcamera { @@ -1840,7 +1840,7 @@ const struct IPAModuleInfo ipaModuleInfo = { IPA_MODULE_API_VERSION, 1, "PipelineHandlerRPi", - "raspberrypi", + "rpi/vc4", }; IPAInterface *ipaCreate() diff --git a/src/libcamera/pipeline/raspberrypi/delayed_controls.cpp b/src/libcamera/pipeline/rpi/common/delayed_controls.cpp index 3db92e7d..3db92e7d 100644 --- a/src/libcamera/pipeline/raspberrypi/delayed_controls.cpp +++ b/src/libcamera/pipeline/rpi/common/delayed_controls.cpp diff --git a/src/libcamera/pipeline/raspberrypi/delayed_controls.h b/src/libcamera/pipeline/rpi/common/delayed_controls.h index 61f755f0..61f755f0 100644 --- a/src/libcamera/pipeline/raspberrypi/delayed_controls.h +++ b/src/libcamera/pipeline/rpi/common/delayed_controls.h diff --git a/src/libcamera/pipeline/rpi/common/meson.build b/src/libcamera/pipeline/rpi/common/meson.build new file mode 100644 index 00000000..2ad594cf --- /dev/null +++ b/src/libcamera/pipeline/rpi/common/meson.build @@ -0,0 +1,6 @@ +# SPDX-License-Identifier: CC0-1.0 + +libcamera_sources += files([ + 'delayed_controls.cpp', + 'rpi_stream.cpp', +]) diff --git a/src/libcamera/pipeline/raspberrypi/rpi_stream.cpp b/src/libcamera/pipeline/rpi/common/rpi_stream.cpp index 2bb10f25..2bb10f25 100644 --- a/src/libcamera/pipeline/raspberrypi/rpi_stream.cpp +++ b/src/libcamera/pipeline/rpi/common/rpi_stream.cpp diff --git a/src/libcamera/pipeline/raspberrypi/rpi_stream.h b/src/libcamera/pipeline/rpi/common/rpi_stream.h index b8bd79cf..b8bd79cf 100644 --- a/src/libcamera/pipeline/raspberrypi/rpi_stream.h +++ b/src/libcamera/pipeline/rpi/common/rpi_stream.h diff --git a/src/libcamera/pipeline/rpi/meson.build b/src/libcamera/pipeline/rpi/meson.build new file mode 100644 index 00000000..2391b6a9 --- /dev/null +++ b/src/libcamera/pipeline/rpi/meson.build @@ -0,0 +1,12 @@ +# SPDX-License-Identifier: CC0-1.0 + +subdir('common') + +foreach pipeline : pipelines + pipeline = pipeline.split('/') + if pipeline.length() < 2 or pipeline[0] != 'rpi' + continue + endif + + subdir(pipeline[1]) +endforeach diff --git a/src/libcamera/pipeline/raspberrypi/data/example.yaml b/src/libcamera/pipeline/rpi/vc4/data/example.yaml index c90f518f..c90f518f 100644 --- a/src/libcamera/pipeline/raspberrypi/data/example.yaml +++ b/src/libcamera/pipeline/rpi/vc4/data/example.yaml diff --git a/src/libcamera/pipeline/raspberrypi/data/meson.build b/src/libcamera/pipeline/rpi/vc4/data/meson.build index 1c70433b..cca5e388 100644 --- a/src/libcamera/pipeline/raspberrypi/data/meson.build +++ b/src/libcamera/pipeline/rpi/vc4/data/meson.build @@ -5,4 +5,4 @@ conf_files = files([ ]) install_data(conf_files, - install_dir : pipeline_data_dir / 'raspberrypi') + install_dir : pipeline_data_dir / 'rpi' / 'vc4') diff --git a/src/libcamera/pipeline/raspberrypi/dma_heaps.cpp b/src/libcamera/pipeline/rpi/vc4/dma_heaps.cpp index 317b1fc1..317b1fc1 100644 --- a/src/libcamera/pipeline/raspberrypi/dma_heaps.cpp +++ b/src/libcamera/pipeline/rpi/vc4/dma_heaps.cpp diff --git a/src/libcamera/pipeline/raspberrypi/dma_heaps.h b/src/libcamera/pipeline/rpi/vc4/dma_heaps.h index 0a4a8d86..0a4a8d86 100644 --- a/src/libcamera/pipeline/raspberrypi/dma_heaps.h +++ b/src/libcamera/pipeline/rpi/vc4/dma_heaps.h diff --git a/src/libcamera/pipeline/raspberrypi/meson.build b/src/libcamera/pipeline/rpi/vc4/meson.build index 59e8fb18..228823f3 100644 --- a/src/libcamera/pipeline/raspberrypi/meson.build +++ b/src/libcamera/pipeline/rpi/vc4/meson.build @@ -1,10 +1,8 @@ # SPDX-License-Identifier: CC0-1.0 libcamera_sources += files([ - 'delayed_controls.cpp', 'dma_heaps.cpp', 'raspberrypi.cpp', - 'rpi_stream.cpp', ]) subdir('data') diff --git a/src/libcamera/pipeline/raspberrypi/raspberrypi.cpp b/src/libcamera/pipeline/rpi/vc4/raspberrypi.cpp index 00600441..af464d15 100644 --- a/src/libcamera/pipeline/raspberrypi/raspberrypi.cpp +++ b/src/libcamera/pipeline/rpi/vc4/raspberrypi.cpp @@ -2,7 +2,7 @@ /* * Copyright (C) 2019-2021, Raspberry Pi Ltd * - * raspberrypi.cpp - Pipeline handler for Raspberry Pi devices + * raspberrypi.cpp - Pipeline handler for VC4-based Raspberry Pi devices */ #include <algorithm> #include <assert.h> @@ -43,9 +43,9 @@ #include "libcamera/internal/v4l2_videodevice.h" #include "libcamera/internal/yaml_parser.h" -#include "delayed_controls.h" +#include "../common/delayed_controls.h" +#include "../common/rpi_stream.h" #include "dma_heaps.h" -#include "rpi_stream.h" using namespace std::chrono_literals; |