Message ID | 20230426131057.21550-5-naush@raspberrypi.com |
---|---|
State | Superseded |
Headers | show |
Series |
|
Related | show |
Hi Naush On Wed, Apr 26, 2023 at 02:10:48PM +0100, Naushir Patuck via libcamera-devel wrote: > Split the Raspberry Pi IPA code into common and VC4/BCM2835 specific > file structures. > > The common code files now live in src/ipa/rpi/{cam_helper,controller}/ > and the vc4 specific files in src/ipa/rpi/vc4/. > > To build the IPA, the meson configuration option to select > the Raspberry Pi IPA has now changed from "raspberrypi" to > "rpi/vc4": > > meson setup build --Dipas=rpi/vc4 > > With this change, the camera tuning files are now installed under > share/libcamera/ipa/rpi/vc4/ > > Signed-off-by: Naushir Patuck <naush@raspberrypi.com> Looks good Reviewed-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com> Thanks j > --- > Documentation/environment_variables.rst | 2 +- > meson_options.txt | 2 +- > src/ipa/meson.build | 10 +++ > src/ipa/raspberrypi/meson.build | 66 ------------------- > src/ipa/{raspberrypi => rpi}/README.md | 0 > .../cam_helper}/cam_helper.cpp | 0 > .../cam_helper}/cam_helper.h | 2 +- > .../cam_helper}/cam_helper_imx219.cpp | 0 > .../cam_helper}/cam_helper_imx290.cpp | 0 > .../cam_helper}/cam_helper_imx296.cpp | 0 > .../cam_helper}/cam_helper_imx477.cpp | 0 > .../cam_helper}/cam_helper_imx519.cpp | 0 > .../cam_helper}/cam_helper_imx708.cpp | 0 > .../cam_helper}/cam_helper_ov5647.cpp | 0 > .../cam_helper}/cam_helper_ov9281.cpp | 0 > .../cam_helper}/md_parser.h | 0 > .../cam_helper}/md_parser_smia.cpp | 0 > src/ipa/rpi/cam_helper/meson.build | 14 ++++ > .../controller/af_algorithm.h | 0 > .../controller/af_status.h | 0 > .../controller/agc_algorithm.h | 0 > .../controller/agc_status.h | 0 > .../controller/algorithm.cpp | 0 > .../controller/algorithm.h | 0 > .../controller/alsc_status.h | 0 > .../controller/awb_algorithm.h | 0 > .../controller/awb_status.h | 0 > .../controller/black_level_status.h | 0 > .../controller/camera_mode.h | 0 > .../controller/ccm_algorithm.h | 0 > .../controller/ccm_status.h | 0 > .../controller/contrast_algorithm.h | 0 > .../controller/contrast_status.h | 0 > .../controller/controller.cpp | 0 > .../controller/controller.h | 0 > .../controller/denoise_algorithm.h | 0 > .../controller/denoise_status.h | 0 > .../controller/device_status.cpp | 0 > .../controller/device_status.h | 0 > .../controller/dpc_status.h | 0 > .../controller/geq_status.h | 0 > .../controller/histogram.cpp | 0 > .../controller/histogram.h | 0 > .../controller/lux_status.h | 0 > src/ipa/rpi/controller/meson.build | 22 +++++++ > .../controller/metadata.h | 0 > .../controller/noise_status.h | 0 > .../controller/pdaf_data.h | 0 > .../{raspberrypi => rpi}/controller/pwl.cpp | 0 > src/ipa/{raspberrypi => rpi}/controller/pwl.h | 0 > .../controller/region_stats.h | 0 > .../controller/rpi/af.cpp | 0 > .../{raspberrypi => rpi}/controller/rpi/af.h | 0 > .../controller/rpi/agc.cpp | 0 > .../{raspberrypi => rpi}/controller/rpi/agc.h | 0 > .../controller/rpi/alsc.cpp | 0 > .../controller/rpi/alsc.h | 0 > .../controller/rpi/awb.cpp | 0 > .../{raspberrypi => rpi}/controller/rpi/awb.h | 0 > .../controller/rpi/black_level.cpp | 0 > .../controller/rpi/black_level.h | 0 > .../controller/rpi/ccm.cpp | 0 > .../{raspberrypi => rpi}/controller/rpi/ccm.h | 0 > .../controller/rpi/contrast.cpp | 0 > .../controller/rpi/contrast.h | 0 > .../controller/rpi/dpc.cpp | 0 > .../{raspberrypi => rpi}/controller/rpi/dpc.h | 0 > .../controller/rpi/focus.h | 0 > .../controller/rpi/geq.cpp | 0 > .../{raspberrypi => rpi}/controller/rpi/geq.h | 0 > .../controller/rpi/lux.cpp | 0 > .../{raspberrypi => rpi}/controller/rpi/lux.h | 0 > .../controller/rpi/noise.cpp | 0 > .../controller/rpi/noise.h | 0 > .../controller/rpi/sdn.cpp | 0 > .../{raspberrypi => rpi}/controller/rpi/sdn.h | 0 > .../controller/rpi/sharpen.cpp | 0 > .../controller/rpi/sharpen.h | 0 > .../controller/sharpen_algorithm.h | 0 > .../controller/sharpen_status.h | 0 > .../controller}/statistics.h | 0 > .../{raspberrypi => rpi/vc4}/data/imx219.json | 0 > .../vc4}/data/imx219_noir.json | 0 > .../{raspberrypi => rpi/vc4}/data/imx290.json | 0 > .../{raspberrypi => rpi/vc4}/data/imx296.json | 0 > .../vc4}/data/imx296_mono.json | 0 > .../{raspberrypi => rpi/vc4}/data/imx378.json | 0 > .../{raspberrypi => rpi/vc4}/data/imx477.json | 0 > .../vc4}/data/imx477_noir.json | 0 > .../vc4}/data/imx477_scientific.json | 0 > .../vc4}/data/imx477_v1.json | 0 > .../{raspberrypi => rpi/vc4}/data/imx519.json | 0 > .../{raspberrypi => rpi/vc4}/data/imx708.json | 0 > .../vc4}/data/imx708_noir.json | 0 > .../vc4}/data/imx708_wide.json | 0 > .../vc4}/data/imx708_wide_noir.json | 0 > .../{raspberrypi => rpi/vc4}/data/meson.build | 2 +- > .../{raspberrypi => rpi/vc4}/data/ov5647.json | 0 > .../vc4}/data/ov5647_noir.json | 0 > .../vc4}/data/ov9281_mono.json | 0 > .../vc4}/data/se327m12.json | 0 > .../vc4}/data/uncalibrated.json | 0 > src/ipa/rpi/vc4/meson.build | 40 +++++++++++ > .../{raspberrypi => rpi/vc4}/raspberrypi.cpp | 48 +++++++------- > .../pipeline/rpi/vc4/raspberrypi.cpp | 2 +- > 105 files changed, 115 insertions(+), 95 deletions(-) > delete mode 100644 src/ipa/raspberrypi/meson.build > rename src/ipa/{raspberrypi => rpi}/README.md (100%) > rename src/ipa/{raspberrypi => rpi/cam_helper}/cam_helper.cpp (100%) > rename src/ipa/{raspberrypi => rpi/cam_helper}/cam_helper.h (99%) > rename src/ipa/{raspberrypi => rpi/cam_helper}/cam_helper_imx219.cpp (100%) > rename src/ipa/{raspberrypi => rpi/cam_helper}/cam_helper_imx290.cpp (100%) > rename src/ipa/{raspberrypi => rpi/cam_helper}/cam_helper_imx296.cpp (100%) > rename src/ipa/{raspberrypi => rpi/cam_helper}/cam_helper_imx477.cpp (100%) > rename src/ipa/{raspberrypi => rpi/cam_helper}/cam_helper_imx519.cpp (100%) > rename src/ipa/{raspberrypi => rpi/cam_helper}/cam_helper_imx708.cpp (100%) > rename src/ipa/{raspberrypi => rpi/cam_helper}/cam_helper_ov5647.cpp (100%) > rename src/ipa/{raspberrypi => rpi/cam_helper}/cam_helper_ov9281.cpp (100%) > rename src/ipa/{raspberrypi => rpi/cam_helper}/md_parser.h (100%) > rename src/ipa/{raspberrypi => rpi/cam_helper}/md_parser_smia.cpp (100%) > create mode 100644 src/ipa/rpi/cam_helper/meson.build > rename src/ipa/{raspberrypi => rpi}/controller/af_algorithm.h (100%) > rename src/ipa/{raspberrypi => rpi}/controller/af_status.h (100%) > rename src/ipa/{raspberrypi => rpi}/controller/agc_algorithm.h (100%) > rename src/ipa/{raspberrypi => rpi}/controller/agc_status.h (100%) > rename src/ipa/{raspberrypi => rpi}/controller/algorithm.cpp (100%) > rename src/ipa/{raspberrypi => rpi}/controller/algorithm.h (100%) > rename src/ipa/{raspberrypi => rpi}/controller/alsc_status.h (100%) > rename src/ipa/{raspberrypi => rpi}/controller/awb_algorithm.h (100%) > rename src/ipa/{raspberrypi => rpi}/controller/awb_status.h (100%) > rename src/ipa/{raspberrypi => rpi}/controller/black_level_status.h (100%) > rename src/ipa/{raspberrypi => rpi}/controller/camera_mode.h (100%) > rename src/ipa/{raspberrypi => rpi}/controller/ccm_algorithm.h (100%) > rename src/ipa/{raspberrypi => rpi}/controller/ccm_status.h (100%) > rename src/ipa/{raspberrypi => rpi}/controller/contrast_algorithm.h (100%) > rename src/ipa/{raspberrypi => rpi}/controller/contrast_status.h (100%) > rename src/ipa/{raspberrypi => rpi}/controller/controller.cpp (100%) > rename src/ipa/{raspberrypi => rpi}/controller/controller.h (100%) > rename src/ipa/{raspberrypi => rpi}/controller/denoise_algorithm.h (100%) > rename src/ipa/{raspberrypi => rpi}/controller/denoise_status.h (100%) > rename src/ipa/{raspberrypi => rpi}/controller/device_status.cpp (100%) > rename src/ipa/{raspberrypi => rpi}/controller/device_status.h (100%) > rename src/ipa/{raspberrypi => rpi}/controller/dpc_status.h (100%) > rename src/ipa/{raspberrypi => rpi}/controller/geq_status.h (100%) > rename src/ipa/{raspberrypi => rpi}/controller/histogram.cpp (100%) > rename src/ipa/{raspberrypi => rpi}/controller/histogram.h (100%) > rename src/ipa/{raspberrypi => rpi}/controller/lux_status.h (100%) > create mode 100644 src/ipa/rpi/controller/meson.build > rename src/ipa/{raspberrypi => rpi}/controller/metadata.h (100%) > rename src/ipa/{raspberrypi => rpi}/controller/noise_status.h (100%) > rename src/ipa/{raspberrypi => rpi}/controller/pdaf_data.h (100%) > rename src/ipa/{raspberrypi => rpi}/controller/pwl.cpp (100%) > rename src/ipa/{raspberrypi => rpi}/controller/pwl.h (100%) > rename src/ipa/{raspberrypi => rpi}/controller/region_stats.h (100%) > rename src/ipa/{raspberrypi => rpi}/controller/rpi/af.cpp (100%) > rename src/ipa/{raspberrypi => rpi}/controller/rpi/af.h (100%) > rename src/ipa/{raspberrypi => rpi}/controller/rpi/agc.cpp (100%) > rename src/ipa/{raspberrypi => rpi}/controller/rpi/agc.h (100%) > rename src/ipa/{raspberrypi => rpi}/controller/rpi/alsc.cpp (100%) > rename src/ipa/{raspberrypi => rpi}/controller/rpi/alsc.h (100%) > rename src/ipa/{raspberrypi => rpi}/controller/rpi/awb.cpp (100%) > rename src/ipa/{raspberrypi => rpi}/controller/rpi/awb.h (100%) > rename src/ipa/{raspberrypi => rpi}/controller/rpi/black_level.cpp (100%) > rename src/ipa/{raspberrypi => rpi}/controller/rpi/black_level.h (100%) > rename src/ipa/{raspberrypi => rpi}/controller/rpi/ccm.cpp (100%) > rename src/ipa/{raspberrypi => rpi}/controller/rpi/ccm.h (100%) > rename src/ipa/{raspberrypi => rpi}/controller/rpi/contrast.cpp (100%) > rename src/ipa/{raspberrypi => rpi}/controller/rpi/contrast.h (100%) > rename src/ipa/{raspberrypi => rpi}/controller/rpi/dpc.cpp (100%) > rename src/ipa/{raspberrypi => rpi}/controller/rpi/dpc.h (100%) > rename src/ipa/{raspberrypi => rpi}/controller/rpi/focus.h (100%) > rename src/ipa/{raspberrypi => rpi}/controller/rpi/geq.cpp (100%) > rename src/ipa/{raspberrypi => rpi}/controller/rpi/geq.h (100%) > rename src/ipa/{raspberrypi => rpi}/controller/rpi/lux.cpp (100%) > rename src/ipa/{raspberrypi => rpi}/controller/rpi/lux.h (100%) > rename src/ipa/{raspberrypi => rpi}/controller/rpi/noise.cpp (100%) > rename src/ipa/{raspberrypi => rpi}/controller/rpi/noise.h (100%) > rename src/ipa/{raspberrypi => rpi}/controller/rpi/sdn.cpp (100%) > rename src/ipa/{raspberrypi => rpi}/controller/rpi/sdn.h (100%) > rename src/ipa/{raspberrypi => rpi}/controller/rpi/sharpen.cpp (100%) > rename src/ipa/{raspberrypi => rpi}/controller/rpi/sharpen.h (100%) > rename src/ipa/{raspberrypi => rpi}/controller/sharpen_algorithm.h (100%) > rename src/ipa/{raspberrypi => rpi}/controller/sharpen_status.h (100%) > rename src/ipa/{raspberrypi => rpi/controller}/statistics.h (100%) > rename src/ipa/{raspberrypi => rpi/vc4}/data/imx219.json (100%) > rename src/ipa/{raspberrypi => rpi/vc4}/data/imx219_noir.json (100%) > rename src/ipa/{raspberrypi => rpi/vc4}/data/imx290.json (100%) > rename src/ipa/{raspberrypi => rpi/vc4}/data/imx296.json (100%) > rename src/ipa/{raspberrypi => rpi/vc4}/data/imx296_mono.json (100%) > rename src/ipa/{raspberrypi => rpi/vc4}/data/imx378.json (100%) > rename src/ipa/{raspberrypi => rpi/vc4}/data/imx477.json (100%) > rename src/ipa/{raspberrypi => rpi/vc4}/data/imx477_noir.json (100%) > rename src/ipa/{raspberrypi => rpi/vc4}/data/imx477_scientific.json (100%) > rename src/ipa/{raspberrypi => rpi/vc4}/data/imx477_v1.json (100%) > rename src/ipa/{raspberrypi => rpi/vc4}/data/imx519.json (100%) > rename src/ipa/{raspberrypi => rpi/vc4}/data/imx708.json (100%) > rename src/ipa/{raspberrypi => rpi/vc4}/data/imx708_noir.json (100%) > rename src/ipa/{raspberrypi => rpi/vc4}/data/imx708_wide.json (100%) > rename src/ipa/{raspberrypi => rpi/vc4}/data/imx708_wide_noir.json (100%) > rename src/ipa/{raspberrypi => rpi/vc4}/data/meson.build (89%) > rename src/ipa/{raspberrypi => rpi/vc4}/data/ov5647.json (100%) > rename src/ipa/{raspberrypi => rpi/vc4}/data/ov5647_noir.json (100%) > rename src/ipa/{raspberrypi => rpi/vc4}/data/ov9281_mono.json (100%) > rename src/ipa/{raspberrypi => rpi/vc4}/data/se327m12.json (100%) > rename src/ipa/{raspberrypi => rpi/vc4}/data/uncalibrated.json (100%) > create mode 100644 src/ipa/rpi/vc4/meson.build > rename src/ipa/{raspberrypi => rpi/vc4}/raspberrypi.cpp (98%) > > diff --git a/Documentation/environment_variables.rst b/Documentation/environment_variables.rst > index 4bf38b877897..888707785ee1 100644 > --- a/Documentation/environment_variables.rst > +++ b/Documentation/environment_variables.rst > @@ -143,7 +143,7 @@ contain tuning parameters for the algorithms, in JSON format. > The ``LIBCAMERA_IPA_CONFIG_PATH`` variable can be used to specify custom > storage locations to search for those configuration files. > > -`Examples <https://git.libcamera.org/libcamera/libcamera.git/tree/src/ipa/raspberrypi/data>`__ > +`Examples <https://git.libcamera.org/libcamera/libcamera.git/tree/src/ipa/rpi/data>`__ > > IPA module > ~~~~~~~~~~ > diff --git a/meson_options.txt b/meson_options.txt > index e1f4c205aa94..596f813ea5e5 100644 > --- a/meson_options.txt > +++ b/meson_options.txt > @@ -27,7 +27,7 @@ option('gstreamer', > > option('ipas', > type : 'array', > - choices : ['ipu3', 'raspberrypi', 'rkisp1', 'vimc'], > + choices : ['ipu3', 'rpi/vc4', 'rkisp1', 'vimc'], > description : 'Select which IPA modules to build') > > option('lc-compliance', > diff --git a/src/ipa/meson.build b/src/ipa/meson.build > index 76ad5b445601..10d3b44ca7b6 100644 > --- a/src/ipa/meson.build > +++ b/src/ipa/meson.build > @@ -37,6 +37,16 @@ endif > > enabled_ipa_modules = [] > > +# If the Raspberry Pi VC4 IPA is enabled, ensure we include the rpi/cam_helper > +# and rpi/controller subdirectories in the build. > +# > +# This is done here and not within rpi/vc4/meson.build as meson does not > +# allow the subdir command to traverse up the directory tree. > +if pipelines.contains('rpi/vc4') > + subdir('rpi/cam_helper') > + subdir('rpi/controller') > +endif > + > # The ipa-sign-install.sh script which uses the ipa_names variable will itself > # prepend MESON_INSTALL_DESTDIR_PREFIX to each ipa module name, therefore we > # must not include the prefix string here. > diff --git a/src/ipa/raspberrypi/meson.build b/src/ipa/raspberrypi/meson.build > deleted file mode 100644 > index de78cbd80f9c..000000000000 > --- a/src/ipa/raspberrypi/meson.build > +++ /dev/null > @@ -1,66 +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') > diff --git a/src/ipa/raspberrypi/README.md b/src/ipa/rpi/README.md > similarity index 100% > rename from src/ipa/raspberrypi/README.md > rename to src/ipa/rpi/README.md > diff --git a/src/ipa/raspberrypi/cam_helper.cpp b/src/ipa/rpi/cam_helper/cam_helper.cpp > similarity index 100% > rename from src/ipa/raspberrypi/cam_helper.cpp > rename to 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 > similarity index 99% > rename from src/ipa/raspberrypi/cam_helper.h > rename to src/ipa/rpi/cam_helper/cam_helper.h > index b3f8c9803094..58a4b202d5a8 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 > similarity index 100% > rename from src/ipa/raspberrypi/cam_helper_imx219.cpp > rename to 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 > similarity index 100% > rename from src/ipa/raspberrypi/cam_helper_imx290.cpp > rename to 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 > similarity index 100% > rename from src/ipa/raspberrypi/cam_helper_imx296.cpp > rename to 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 > similarity index 100% > rename from src/ipa/raspberrypi/cam_helper_imx477.cpp > rename to 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 > similarity index 100% > rename from src/ipa/raspberrypi/cam_helper_imx519.cpp > rename to 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 > similarity index 100% > rename from src/ipa/raspberrypi/cam_helper_imx708.cpp > rename to 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 > similarity index 100% > rename from src/ipa/raspberrypi/cam_helper_ov5647.cpp > rename to 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 > similarity index 100% > rename from src/ipa/raspberrypi/cam_helper_ov9281.cpp > rename to 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 > similarity index 100% > rename from src/ipa/raspberrypi/md_parser.h > rename to 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 > similarity index 100% > rename from src/ipa/raspberrypi/md_parser_smia.cpp > rename to 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 000000000000..aa42ae91f69d > --- /dev/null > +++ b/src/ipa/rpi/cam_helper/meson.build > @@ -0,0 +1,14 @@ > +# 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', > +]) > diff --git a/src/ipa/raspberrypi/controller/af_algorithm.h b/src/ipa/rpi/controller/af_algorithm.h > similarity index 100% > rename from src/ipa/raspberrypi/controller/af_algorithm.h > rename to 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 > similarity index 100% > rename from src/ipa/raspberrypi/controller/af_status.h > rename to 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 > similarity index 100% > rename from src/ipa/raspberrypi/controller/agc_algorithm.h > rename to 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 > similarity index 100% > rename from src/ipa/raspberrypi/controller/agc_status.h > rename to src/ipa/rpi/controller/agc_status.h > diff --git a/src/ipa/raspberrypi/controller/algorithm.cpp b/src/ipa/rpi/controller/algorithm.cpp > similarity index 100% > rename from src/ipa/raspberrypi/controller/algorithm.cpp > rename to src/ipa/rpi/controller/algorithm.cpp > diff --git a/src/ipa/raspberrypi/controller/algorithm.h b/src/ipa/rpi/controller/algorithm.h > similarity index 100% > rename from src/ipa/raspberrypi/controller/algorithm.h > rename to src/ipa/rpi/controller/algorithm.h > diff --git a/src/ipa/raspberrypi/controller/alsc_status.h b/src/ipa/rpi/controller/alsc_status.h > similarity index 100% > rename from src/ipa/raspberrypi/controller/alsc_status.h > rename to 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 > similarity index 100% > rename from src/ipa/raspberrypi/controller/awb_algorithm.h > rename to 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 > similarity index 100% > rename from src/ipa/raspberrypi/controller/awb_status.h > rename to 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 > similarity index 100% > rename from src/ipa/raspberrypi/controller/black_level_status.h > rename to 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 > similarity index 100% > rename from src/ipa/raspberrypi/controller/camera_mode.h > rename to 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 > similarity index 100% > rename from src/ipa/raspberrypi/controller/ccm_algorithm.h > rename to 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 > similarity index 100% > rename from src/ipa/raspberrypi/controller/ccm_status.h > rename to 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 > similarity index 100% > rename from src/ipa/raspberrypi/controller/contrast_algorithm.h > rename to 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 > similarity index 100% > rename from src/ipa/raspberrypi/controller/contrast_status.h > rename to src/ipa/rpi/controller/contrast_status.h > diff --git a/src/ipa/raspberrypi/controller/controller.cpp b/src/ipa/rpi/controller/controller.cpp > similarity index 100% > rename from src/ipa/raspberrypi/controller/controller.cpp > rename to src/ipa/rpi/controller/controller.cpp > diff --git a/src/ipa/raspberrypi/controller/controller.h b/src/ipa/rpi/controller/controller.h > similarity index 100% > rename from src/ipa/raspberrypi/controller/controller.h > rename to src/ipa/rpi/controller/controller.h > diff --git a/src/ipa/raspberrypi/controller/denoise_algorithm.h b/src/ipa/rpi/controller/denoise_algorithm.h > similarity index 100% > rename from src/ipa/raspberrypi/controller/denoise_algorithm.h > rename to 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 > similarity index 100% > rename from src/ipa/raspberrypi/controller/denoise_status.h > rename to 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 > similarity index 100% > rename from src/ipa/raspberrypi/controller/device_status.cpp > rename to 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 > similarity index 100% > rename from src/ipa/raspberrypi/controller/device_status.h > rename to 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 > similarity index 100% > rename from src/ipa/raspberrypi/controller/dpc_status.h > rename to 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 > similarity index 100% > rename from src/ipa/raspberrypi/controller/geq_status.h > rename to src/ipa/rpi/controller/geq_status.h > diff --git a/src/ipa/raspberrypi/controller/histogram.cpp b/src/ipa/rpi/controller/histogram.cpp > similarity index 100% > rename from src/ipa/raspberrypi/controller/histogram.cpp > rename to src/ipa/rpi/controller/histogram.cpp > diff --git a/src/ipa/raspberrypi/controller/histogram.h b/src/ipa/rpi/controller/histogram.h > similarity index 100% > rename from src/ipa/raspberrypi/controller/histogram.h > rename to src/ipa/rpi/controller/histogram.h > diff --git a/src/ipa/raspberrypi/controller/lux_status.h b/src/ipa/rpi/controller/lux_status.h > similarity index 100% > rename from src/ipa/raspberrypi/controller/lux_status.h > rename to 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 000000000000..90a67412444e > --- /dev/null > +++ b/src/ipa/rpi/controller/meson.build > @@ -0,0 +1,22 @@ > +# 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', > +]) > diff --git a/src/ipa/raspberrypi/controller/metadata.h b/src/ipa/rpi/controller/metadata.h > similarity index 100% > rename from src/ipa/raspberrypi/controller/metadata.h > rename to src/ipa/rpi/controller/metadata.h > diff --git a/src/ipa/raspberrypi/controller/noise_status.h b/src/ipa/rpi/controller/noise_status.h > similarity index 100% > rename from src/ipa/raspberrypi/controller/noise_status.h > rename to 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 > similarity index 100% > rename from src/ipa/raspberrypi/controller/pdaf_data.h > rename to src/ipa/rpi/controller/pdaf_data.h > diff --git a/src/ipa/raspberrypi/controller/pwl.cpp b/src/ipa/rpi/controller/pwl.cpp > similarity index 100% > rename from src/ipa/raspberrypi/controller/pwl.cpp > rename to src/ipa/rpi/controller/pwl.cpp > diff --git a/src/ipa/raspberrypi/controller/pwl.h b/src/ipa/rpi/controller/pwl.h > similarity index 100% > rename from src/ipa/raspberrypi/controller/pwl.h > rename to src/ipa/rpi/controller/pwl.h > diff --git a/src/ipa/raspberrypi/controller/region_stats.h b/src/ipa/rpi/controller/region_stats.h > similarity index 100% > rename from src/ipa/raspberrypi/controller/region_stats.h > rename to 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 > similarity index 100% > rename from src/ipa/raspberrypi/controller/rpi/af.cpp > rename to 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 > similarity index 100% > rename from src/ipa/raspberrypi/controller/rpi/af.h > rename to 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 > similarity index 100% > rename from src/ipa/raspberrypi/controller/rpi/agc.cpp > rename to 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 > similarity index 100% > rename from src/ipa/raspberrypi/controller/rpi/agc.h > rename to 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 > similarity index 100% > rename from src/ipa/raspberrypi/controller/rpi/alsc.cpp > rename to 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 > similarity index 100% > rename from src/ipa/raspberrypi/controller/rpi/alsc.h > rename to 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 > similarity index 100% > rename from src/ipa/raspberrypi/controller/rpi/awb.cpp > rename to 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 > similarity index 100% > rename from src/ipa/raspberrypi/controller/rpi/awb.h > rename to 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 > similarity index 100% > rename from src/ipa/raspberrypi/controller/rpi/black_level.cpp > rename to 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 > similarity index 100% > rename from src/ipa/raspberrypi/controller/rpi/black_level.h > rename to 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 > similarity index 100% > rename from src/ipa/raspberrypi/controller/rpi/ccm.cpp > rename to 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 > similarity index 100% > rename from src/ipa/raspberrypi/controller/rpi/ccm.h > rename to 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 > similarity index 100% > rename from src/ipa/raspberrypi/controller/rpi/contrast.cpp > rename to 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 > similarity index 100% > rename from src/ipa/raspberrypi/controller/rpi/contrast.h > rename to 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 > similarity index 100% > rename from src/ipa/raspberrypi/controller/rpi/dpc.cpp > rename to 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 > similarity index 100% > rename from src/ipa/raspberrypi/controller/rpi/dpc.h > rename to 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 > similarity index 100% > rename from src/ipa/raspberrypi/controller/rpi/focus.h > rename to 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 > similarity index 100% > rename from src/ipa/raspberrypi/controller/rpi/geq.cpp > rename to 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 > similarity index 100% > rename from src/ipa/raspberrypi/controller/rpi/geq.h > rename to 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 > similarity index 100% > rename from src/ipa/raspberrypi/controller/rpi/lux.cpp > rename to 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 > similarity index 100% > rename from src/ipa/raspberrypi/controller/rpi/lux.h > rename to 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 > similarity index 100% > rename from src/ipa/raspberrypi/controller/rpi/noise.cpp > rename to 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 > similarity index 100% > rename from src/ipa/raspberrypi/controller/rpi/noise.h > rename to 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 > similarity index 100% > rename from src/ipa/raspberrypi/controller/rpi/sdn.cpp > rename to 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 > similarity index 100% > rename from src/ipa/raspberrypi/controller/rpi/sdn.h > rename to 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 > similarity index 100% > rename from src/ipa/raspberrypi/controller/rpi/sharpen.cpp > rename to 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 > similarity index 100% > rename from src/ipa/raspberrypi/controller/rpi/sharpen.h > rename to 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 > similarity index 100% > rename from src/ipa/raspberrypi/controller/sharpen_algorithm.h > rename to 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 > similarity index 100% > rename from src/ipa/raspberrypi/controller/sharpen_status.h > rename to src/ipa/rpi/controller/sharpen_status.h > diff --git a/src/ipa/raspberrypi/statistics.h b/src/ipa/rpi/controller/statistics.h > similarity index 100% > rename from src/ipa/raspberrypi/statistics.h > rename to src/ipa/rpi/controller/statistics.h > diff --git a/src/ipa/raspberrypi/data/imx219.json b/src/ipa/rpi/vc4/data/imx219.json > similarity index 100% > rename from src/ipa/raspberrypi/data/imx219.json > rename to 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 > similarity index 100% > rename from src/ipa/raspberrypi/data/imx219_noir.json > rename to 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 > similarity index 100% > rename from src/ipa/raspberrypi/data/imx290.json > rename to src/ipa/rpi/vc4/data/imx290.json > diff --git a/src/ipa/raspberrypi/data/imx296.json b/src/ipa/rpi/vc4/data/imx296.json > similarity index 100% > rename from src/ipa/raspberrypi/data/imx296.json > rename to 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 > similarity index 100% > rename from src/ipa/raspberrypi/data/imx296_mono.json > rename to 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 > similarity index 100% > rename from src/ipa/raspberrypi/data/imx378.json > rename to src/ipa/rpi/vc4/data/imx378.json > diff --git a/src/ipa/raspberrypi/data/imx477.json b/src/ipa/rpi/vc4/data/imx477.json > similarity index 100% > rename from src/ipa/raspberrypi/data/imx477.json > rename to 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 > similarity index 100% > rename from src/ipa/raspberrypi/data/imx477_noir.json > rename to 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 > similarity index 100% > rename from src/ipa/raspberrypi/data/imx477_scientific.json > rename to 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 > similarity index 100% > rename from src/ipa/raspberrypi/data/imx477_v1.json > rename to 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 > similarity index 100% > rename from src/ipa/raspberrypi/data/imx519.json > rename to src/ipa/rpi/vc4/data/imx519.json > diff --git a/src/ipa/raspberrypi/data/imx708.json b/src/ipa/rpi/vc4/data/imx708.json > similarity index 100% > rename from src/ipa/raspberrypi/data/imx708.json > rename to 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 > similarity index 100% > rename from src/ipa/raspberrypi/data/imx708_noir.json > rename to 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 > similarity index 100% > rename from src/ipa/raspberrypi/data/imx708_wide.json > rename to 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 > similarity index 100% > rename from src/ipa/raspberrypi/data/imx708_wide_noir.json > rename to 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 > similarity index 89% > rename from src/ipa/raspberrypi/data/meson.build > rename to src/ipa/rpi/vc4/data/meson.build > index b163a052f57c..327462fa2420 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 > similarity index 100% > rename from src/ipa/raspberrypi/data/ov5647.json > rename to 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 > similarity index 100% > rename from src/ipa/raspberrypi/data/ov5647_noir.json > rename to 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 > similarity index 100% > rename from src/ipa/raspberrypi/data/ov9281_mono.json > rename to 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 > similarity index 100% > rename from src/ipa/raspberrypi/data/se327m12.json > rename to src/ipa/rpi/vc4/data/se327m12.json > diff --git a/src/ipa/raspberrypi/data/uncalibrated.json b/src/ipa/rpi/vc4/data/uncalibrated.json > similarity index 100% > rename from src/ipa/raspberrypi/data/uncalibrated.json > rename to 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 000000000000..992d0f1ab5a7 > --- /dev/null > +++ b/src/ipa/rpi/vc4/meson.build > @@ -0,0 +1,40 @@ > +# SPDX-License-Identifier: CC0-1.0 > + > +ipa_name = 'ipa_vc4' > + > +vc4_ipa_deps = [ > + libcamera_private, > + libatomic, > +] > + > +vc4_ipa_includes = [ > + ipa_includes, > + libipa_includes, > +] > + > +vc4_ipa_sources = files([ > + 'raspberrypi.cpp', > +]) > + > +vc4_ipa_includes += include_directories('..') > +vc4_ipa_sources += [rpi_ipa_cam_helper_sources, rpi_ipa_controller_sources] > + > +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, > + 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') > diff --git a/src/ipa/raspberrypi/raspberrypi.cpp b/src/ipa/rpi/vc4/raspberrypi.cpp > similarity index 98% > rename from src/ipa/raspberrypi/raspberrypi.cpp > rename to src/ipa/rpi/vc4/raspberrypi.cpp > index 9c29fa9a5e5c..841635ccde2b 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", > + "vc4", > }; > > IPAInterface *ipaCreate() > diff --git a/src/libcamera/pipeline/rpi/vc4/raspberrypi.cpp b/src/libcamera/pipeline/rpi/vc4/raspberrypi.cpp > index 4595773d2517..cfde7f2e2229 100644 > --- a/src/libcamera/pipeline/rpi/vc4/raspberrypi.cpp > +++ b/src/libcamera/pipeline/rpi/vc4/raspberrypi.cpp > @@ -1668,7 +1668,7 @@ int RPiCameraData::loadIPA(ipa::RPi::IPAInitResult *result) > std::string model = sensor_->model(); > if (isMonoSensor(sensor_)) > model += "_mono"; > - configurationFile = ipa_->configurationFile(model + ".json", ""); > + configurationFile = ipa_->configurationFile(model + ".json", "rpi"); > } else { > configurationFile = std::string(configFromEnv); > } > -- > 2.34.1 >
Hi Naush, Thank you for the patch. On Wed, Apr 26, 2023 at 02:10:48PM +0100, Naushir Patuck via libcamera-devel wrote: > Split the Raspberry Pi IPA code into common and VC4/BCM2835 specific > file structures. > > The common code files now live in src/ipa/rpi/{cam_helper,controller}/ > and the vc4 specific files in src/ipa/rpi/vc4/. > > To build the IPA, the meson configuration option to select > the Raspberry Pi IPA has now changed from "raspberrypi" to > "rpi/vc4": > > meson setup build --Dipas=rpi/vc4 > > With this change, the camera tuning files are now installed under > share/libcamera/ipa/rpi/vc4/ > > Signed-off-by: Naushir Patuck <naush@raspberrypi.com> > --- > Documentation/environment_variables.rst | 2 +- > meson_options.txt | 2 +- > src/ipa/meson.build | 10 +++ > src/ipa/raspberrypi/meson.build | 66 ------------------- > src/ipa/{raspberrypi => rpi}/README.md | 0 > .../cam_helper}/cam_helper.cpp | 0 > .../cam_helper}/cam_helper.h | 2 +- > .../cam_helper}/cam_helper_imx219.cpp | 0 > .../cam_helper}/cam_helper_imx290.cpp | 0 > .../cam_helper}/cam_helper_imx296.cpp | 0 > .../cam_helper}/cam_helper_imx477.cpp | 0 > .../cam_helper}/cam_helper_imx519.cpp | 0 > .../cam_helper}/cam_helper_imx708.cpp | 0 > .../cam_helper}/cam_helper_ov5647.cpp | 0 > .../cam_helper}/cam_helper_ov9281.cpp | 0 > .../cam_helper}/md_parser.h | 0 > .../cam_helper}/md_parser_smia.cpp | 0 > src/ipa/rpi/cam_helper/meson.build | 14 ++++ > .../controller/af_algorithm.h | 0 > .../controller/af_status.h | 0 > .../controller/agc_algorithm.h | 0 > .../controller/agc_status.h | 0 > .../controller/algorithm.cpp | 0 > .../controller/algorithm.h | 0 > .../controller/alsc_status.h | 0 > .../controller/awb_algorithm.h | 0 > .../controller/awb_status.h | 0 > .../controller/black_level_status.h | 0 > .../controller/camera_mode.h | 0 > .../controller/ccm_algorithm.h | 0 > .../controller/ccm_status.h | 0 > .../controller/contrast_algorithm.h | 0 > .../controller/contrast_status.h | 0 > .../controller/controller.cpp | 0 > .../controller/controller.h | 0 > .../controller/denoise_algorithm.h | 0 > .../controller/denoise_status.h | 0 > .../controller/device_status.cpp | 0 > .../controller/device_status.h | 0 > .../controller/dpc_status.h | 0 > .../controller/geq_status.h | 0 > .../controller/histogram.cpp | 0 > .../controller/histogram.h | 0 > .../controller/lux_status.h | 0 > src/ipa/rpi/controller/meson.build | 22 +++++++ > .../controller/metadata.h | 0 > .../controller/noise_status.h | 0 > .../controller/pdaf_data.h | 0 > .../{raspberrypi => rpi}/controller/pwl.cpp | 0 > src/ipa/{raspberrypi => rpi}/controller/pwl.h | 0 > .../controller/region_stats.h | 0 > .../controller/rpi/af.cpp | 0 > .../{raspberrypi => rpi}/controller/rpi/af.h | 0 > .../controller/rpi/agc.cpp | 0 > .../{raspberrypi => rpi}/controller/rpi/agc.h | 0 > .../controller/rpi/alsc.cpp | 0 > .../controller/rpi/alsc.h | 0 > .../controller/rpi/awb.cpp | 0 > .../{raspberrypi => rpi}/controller/rpi/awb.h | 0 > .../controller/rpi/black_level.cpp | 0 > .../controller/rpi/black_level.h | 0 > .../controller/rpi/ccm.cpp | 0 > .../{raspberrypi => rpi}/controller/rpi/ccm.h | 0 > .../controller/rpi/contrast.cpp | 0 > .../controller/rpi/contrast.h | 0 > .../controller/rpi/dpc.cpp | 0 > .../{raspberrypi => rpi}/controller/rpi/dpc.h | 0 > .../controller/rpi/focus.h | 0 > .../controller/rpi/geq.cpp | 0 > .../{raspberrypi => rpi}/controller/rpi/geq.h | 0 > .../controller/rpi/lux.cpp | 0 > .../{raspberrypi => rpi}/controller/rpi/lux.h | 0 > .../controller/rpi/noise.cpp | 0 > .../controller/rpi/noise.h | 0 > .../controller/rpi/sdn.cpp | 0 > .../{raspberrypi => rpi}/controller/rpi/sdn.h | 0 > .../controller/rpi/sharpen.cpp | 0 > .../controller/rpi/sharpen.h | 0 > .../controller/sharpen_algorithm.h | 0 > .../controller/sharpen_status.h | 0 > .../controller}/statistics.h | 0 > .../{raspberrypi => rpi/vc4}/data/imx219.json | 0 > .../vc4}/data/imx219_noir.json | 0 > .../{raspberrypi => rpi/vc4}/data/imx290.json | 0 > .../{raspberrypi => rpi/vc4}/data/imx296.json | 0 > .../vc4}/data/imx296_mono.json | 0 > .../{raspberrypi => rpi/vc4}/data/imx378.json | 0 > .../{raspberrypi => rpi/vc4}/data/imx477.json | 0 > .../vc4}/data/imx477_noir.json | 0 > .../vc4}/data/imx477_scientific.json | 0 > .../vc4}/data/imx477_v1.json | 0 > .../{raspberrypi => rpi/vc4}/data/imx519.json | 0 > .../{raspberrypi => rpi/vc4}/data/imx708.json | 0 > .../vc4}/data/imx708_noir.json | 0 > .../vc4}/data/imx708_wide.json | 0 > .../vc4}/data/imx708_wide_noir.json | 0 > .../{raspberrypi => rpi/vc4}/data/meson.build | 2 +- > .../{raspberrypi => rpi/vc4}/data/ov5647.json | 0 > .../vc4}/data/ov5647_noir.json | 0 > .../vc4}/data/ov9281_mono.json | 0 > .../vc4}/data/se327m12.json | 0 > .../vc4}/data/uncalibrated.json | 0 > src/ipa/rpi/vc4/meson.build | 40 +++++++++++ > .../{raspberrypi => rpi/vc4}/raspberrypi.cpp | 48 +++++++------- > .../pipeline/rpi/vc4/raspberrypi.cpp | 2 +- > 105 files changed, 115 insertions(+), 95 deletions(-) > delete mode 100644 src/ipa/raspberrypi/meson.build > rename src/ipa/{raspberrypi => rpi}/README.md (100%) > rename src/ipa/{raspberrypi => rpi/cam_helper}/cam_helper.cpp (100%) > rename src/ipa/{raspberrypi => rpi/cam_helper}/cam_helper.h (99%) > rename src/ipa/{raspberrypi => rpi/cam_helper}/cam_helper_imx219.cpp (100%) > rename src/ipa/{raspberrypi => rpi/cam_helper}/cam_helper_imx290.cpp (100%) > rename src/ipa/{raspberrypi => rpi/cam_helper}/cam_helper_imx296.cpp (100%) > rename src/ipa/{raspberrypi => rpi/cam_helper}/cam_helper_imx477.cpp (100%) > rename src/ipa/{raspberrypi => rpi/cam_helper}/cam_helper_imx519.cpp (100%) > rename src/ipa/{raspberrypi => rpi/cam_helper}/cam_helper_imx708.cpp (100%) > rename src/ipa/{raspberrypi => rpi/cam_helper}/cam_helper_ov5647.cpp (100%) > rename src/ipa/{raspberrypi => rpi/cam_helper}/cam_helper_ov9281.cpp (100%) > rename src/ipa/{raspberrypi => rpi/cam_helper}/md_parser.h (100%) > rename src/ipa/{raspberrypi => rpi/cam_helper}/md_parser_smia.cpp (100%) > create mode 100644 src/ipa/rpi/cam_helper/meson.build > rename src/ipa/{raspberrypi => rpi}/controller/af_algorithm.h (100%) > rename src/ipa/{raspberrypi => rpi}/controller/af_status.h (100%) > rename src/ipa/{raspberrypi => rpi}/controller/agc_algorithm.h (100%) > rename src/ipa/{raspberrypi => rpi}/controller/agc_status.h (100%) > rename src/ipa/{raspberrypi => rpi}/controller/algorithm.cpp (100%) > rename src/ipa/{raspberrypi => rpi}/controller/algorithm.h (100%) > rename src/ipa/{raspberrypi => rpi}/controller/alsc_status.h (100%) > rename src/ipa/{raspberrypi => rpi}/controller/awb_algorithm.h (100%) > rename src/ipa/{raspberrypi => rpi}/controller/awb_status.h (100%) > rename src/ipa/{raspberrypi => rpi}/controller/black_level_status.h (100%) > rename src/ipa/{raspberrypi => rpi}/controller/camera_mode.h (100%) > rename src/ipa/{raspberrypi => rpi}/controller/ccm_algorithm.h (100%) > rename src/ipa/{raspberrypi => rpi}/controller/ccm_status.h (100%) > rename src/ipa/{raspberrypi => rpi}/controller/contrast_algorithm.h (100%) > rename src/ipa/{raspberrypi => rpi}/controller/contrast_status.h (100%) > rename src/ipa/{raspberrypi => rpi}/controller/controller.cpp (100%) > rename src/ipa/{raspberrypi => rpi}/controller/controller.h (100%) > rename src/ipa/{raspberrypi => rpi}/controller/denoise_algorithm.h (100%) > rename src/ipa/{raspberrypi => rpi}/controller/denoise_status.h (100%) > rename src/ipa/{raspberrypi => rpi}/controller/device_status.cpp (100%) > rename src/ipa/{raspberrypi => rpi}/controller/device_status.h (100%) > rename src/ipa/{raspberrypi => rpi}/controller/dpc_status.h (100%) > rename src/ipa/{raspberrypi => rpi}/controller/geq_status.h (100%) > rename src/ipa/{raspberrypi => rpi}/controller/histogram.cpp (100%) > rename src/ipa/{raspberrypi => rpi}/controller/histogram.h (100%) > rename src/ipa/{raspberrypi => rpi}/controller/lux_status.h (100%) > create mode 100644 src/ipa/rpi/controller/meson.build > rename src/ipa/{raspberrypi => rpi}/controller/metadata.h (100%) > rename src/ipa/{raspberrypi => rpi}/controller/noise_status.h (100%) > rename src/ipa/{raspberrypi => rpi}/controller/pdaf_data.h (100%) > rename src/ipa/{raspberrypi => rpi}/controller/pwl.cpp (100%) > rename src/ipa/{raspberrypi => rpi}/controller/pwl.h (100%) > rename src/ipa/{raspberrypi => rpi}/controller/region_stats.h (100%) > rename src/ipa/{raspberrypi => rpi}/controller/rpi/af.cpp (100%) > rename src/ipa/{raspberrypi => rpi}/controller/rpi/af.h (100%) > rename src/ipa/{raspberrypi => rpi}/controller/rpi/agc.cpp (100%) > rename src/ipa/{raspberrypi => rpi}/controller/rpi/agc.h (100%) > rename src/ipa/{raspberrypi => rpi}/controller/rpi/alsc.cpp (100%) > rename src/ipa/{raspberrypi => rpi}/controller/rpi/alsc.h (100%) > rename src/ipa/{raspberrypi => rpi}/controller/rpi/awb.cpp (100%) > rename src/ipa/{raspberrypi => rpi}/controller/rpi/awb.h (100%) > rename src/ipa/{raspberrypi => rpi}/controller/rpi/black_level.cpp (100%) > rename src/ipa/{raspberrypi => rpi}/controller/rpi/black_level.h (100%) > rename src/ipa/{raspberrypi => rpi}/controller/rpi/ccm.cpp (100%) > rename src/ipa/{raspberrypi => rpi}/controller/rpi/ccm.h (100%) > rename src/ipa/{raspberrypi => rpi}/controller/rpi/contrast.cpp (100%) > rename src/ipa/{raspberrypi => rpi}/controller/rpi/contrast.h (100%) > rename src/ipa/{raspberrypi => rpi}/controller/rpi/dpc.cpp (100%) > rename src/ipa/{raspberrypi => rpi}/controller/rpi/dpc.h (100%) > rename src/ipa/{raspberrypi => rpi}/controller/rpi/focus.h (100%) > rename src/ipa/{raspberrypi => rpi}/controller/rpi/geq.cpp (100%) > rename src/ipa/{raspberrypi => rpi}/controller/rpi/geq.h (100%) > rename src/ipa/{raspberrypi => rpi}/controller/rpi/lux.cpp (100%) > rename src/ipa/{raspberrypi => rpi}/controller/rpi/lux.h (100%) > rename src/ipa/{raspberrypi => rpi}/controller/rpi/noise.cpp (100%) > rename src/ipa/{raspberrypi => rpi}/controller/rpi/noise.h (100%) > rename src/ipa/{raspberrypi => rpi}/controller/rpi/sdn.cpp (100%) > rename src/ipa/{raspberrypi => rpi}/controller/rpi/sdn.h (100%) > rename src/ipa/{raspberrypi => rpi}/controller/rpi/sharpen.cpp (100%) > rename src/ipa/{raspberrypi => rpi}/controller/rpi/sharpen.h (100%) > rename src/ipa/{raspberrypi => rpi}/controller/sharpen_algorithm.h (100%) > rename src/ipa/{raspberrypi => rpi}/controller/sharpen_status.h (100%) > rename src/ipa/{raspberrypi => rpi/controller}/statistics.h (100%) > rename src/ipa/{raspberrypi => rpi/vc4}/data/imx219.json (100%) > rename src/ipa/{raspberrypi => rpi/vc4}/data/imx219_noir.json (100%) > rename src/ipa/{raspberrypi => rpi/vc4}/data/imx290.json (100%) > rename src/ipa/{raspberrypi => rpi/vc4}/data/imx296.json (100%) > rename src/ipa/{raspberrypi => rpi/vc4}/data/imx296_mono.json (100%) > rename src/ipa/{raspberrypi => rpi/vc4}/data/imx378.json (100%) > rename src/ipa/{raspberrypi => rpi/vc4}/data/imx477.json (100%) > rename src/ipa/{raspberrypi => rpi/vc4}/data/imx477_noir.json (100%) > rename src/ipa/{raspberrypi => rpi/vc4}/data/imx477_scientific.json (100%) > rename src/ipa/{raspberrypi => rpi/vc4}/data/imx477_v1.json (100%) > rename src/ipa/{raspberrypi => rpi/vc4}/data/imx519.json (100%) > rename src/ipa/{raspberrypi => rpi/vc4}/data/imx708.json (100%) > rename src/ipa/{raspberrypi => rpi/vc4}/data/imx708_noir.json (100%) > rename src/ipa/{raspberrypi => rpi/vc4}/data/imx708_wide.json (100%) > rename src/ipa/{raspberrypi => rpi/vc4}/data/imx708_wide_noir.json (100%) > rename src/ipa/{raspberrypi => rpi/vc4}/data/meson.build (89%) > rename src/ipa/{raspberrypi => rpi/vc4}/data/ov5647.json (100%) > rename src/ipa/{raspberrypi => rpi/vc4}/data/ov5647_noir.json (100%) > rename src/ipa/{raspberrypi => rpi/vc4}/data/ov9281_mono.json (100%) > rename src/ipa/{raspberrypi => rpi/vc4}/data/se327m12.json (100%) > rename src/ipa/{raspberrypi => rpi/vc4}/data/uncalibrated.json (100%) > create mode 100644 src/ipa/rpi/vc4/meson.build > rename src/ipa/{raspberrypi => rpi/vc4}/raspberrypi.cpp (98%) > > diff --git a/Documentation/environment_variables.rst b/Documentation/environment_variables.rst > index 4bf38b877897..888707785ee1 100644 > --- a/Documentation/environment_variables.rst > +++ b/Documentation/environment_variables.rst > @@ -143,7 +143,7 @@ contain tuning parameters for the algorithms, in JSON format. > The ``LIBCAMERA_IPA_CONFIG_PATH`` variable can be used to specify custom > storage locations to search for those configuration files. > > -`Examples <https://git.libcamera.org/libcamera/libcamera.git/tree/src/ipa/raspberrypi/data>`__ > +`Examples <https://git.libcamera.org/libcamera/libcamera.git/tree/src/ipa/rpi/data>`__ Shouldn't this be rpi/vc4/data ? > > IPA module > ~~~~~~~~~~ > diff --git a/meson_options.txt b/meson_options.txt > index e1f4c205aa94..596f813ea5e5 100644 > --- a/meson_options.txt > +++ b/meson_options.txt > @@ -27,7 +27,7 @@ option('gstreamer', > > option('ipas', > type : 'array', > - choices : ['ipu3', 'raspberrypi', 'rkisp1', 'vimc'], > + choices : ['ipu3', 'rpi/vc4', 'rkisp1', 'vimc'], > description : 'Select which IPA modules to build') > > option('lc-compliance', > diff --git a/src/ipa/meson.build b/src/ipa/meson.build > index 76ad5b445601..10d3b44ca7b6 100644 > --- a/src/ipa/meson.build > +++ b/src/ipa/meson.build > @@ -37,6 +37,16 @@ endif > > enabled_ipa_modules = [] > > +# If the Raspberry Pi VC4 IPA is enabled, ensure we include the rpi/cam_helper > +# and rpi/controller subdirectories in the build. > +# > +# This is done here and not within rpi/vc4/meson.build as meson does not > +# allow the subdir command to traverse up the directory tree. > +if pipelines.contains('rpi/vc4') > + subdir('rpi/cam_helper') > + subdir('rpi/controller') > +endif This should be handled more generically, see my review of patch 03/13. I'll try to propose an implementation, likely on Monday. > + > # The ipa-sign-install.sh script which uses the ipa_names variable will itself > # prepend MESON_INSTALL_DESTDIR_PREFIX to each ipa module name, therefore we > # must not include the prefix string here. > diff --git a/src/ipa/raspberrypi/meson.build b/src/ipa/raspberrypi/meson.build > deleted file mode 100644 > index de78cbd80f9c..000000000000 > --- a/src/ipa/raspberrypi/meson.build > +++ /dev/null > @@ -1,66 +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') > diff --git a/src/ipa/raspberrypi/README.md b/src/ipa/rpi/README.md > similarity index 100% > rename from src/ipa/raspberrypi/README.md > rename to src/ipa/rpi/README.md > diff --git a/src/ipa/raspberrypi/cam_helper.cpp b/src/ipa/rpi/cam_helper/cam_helper.cpp > similarity index 100% > rename from src/ipa/raspberrypi/cam_helper.cpp > rename to 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 > similarity index 99% > rename from src/ipa/raspberrypi/cam_helper.h > rename to src/ipa/rpi/cam_helper/cam_helper.h > index b3f8c9803094..58a4b202d5a8 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 > similarity index 100% > rename from src/ipa/raspberrypi/cam_helper_imx219.cpp > rename to 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 > similarity index 100% > rename from src/ipa/raspberrypi/cam_helper_imx290.cpp > rename to 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 > similarity index 100% > rename from src/ipa/raspberrypi/cam_helper_imx296.cpp > rename to 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 > similarity index 100% > rename from src/ipa/raspberrypi/cam_helper_imx477.cpp > rename to 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 > similarity index 100% > rename from src/ipa/raspberrypi/cam_helper_imx519.cpp > rename to 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 > similarity index 100% > rename from src/ipa/raspberrypi/cam_helper_imx708.cpp > rename to 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 > similarity index 100% > rename from src/ipa/raspberrypi/cam_helper_ov5647.cpp > rename to 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 > similarity index 100% > rename from src/ipa/raspberrypi/cam_helper_ov9281.cpp > rename to 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 > similarity index 100% > rename from src/ipa/raspberrypi/md_parser.h > rename to 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 > similarity index 100% > rename from src/ipa/raspberrypi/md_parser_smia.cpp > rename to 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 000000000000..aa42ae91f69d > --- /dev/null > +++ b/src/ipa/rpi/cam_helper/meson.build > @@ -0,0 +1,14 @@ > +# 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', > +]) > diff --git a/src/ipa/raspberrypi/controller/af_algorithm.h b/src/ipa/rpi/controller/af_algorithm.h > similarity index 100% > rename from src/ipa/raspberrypi/controller/af_algorithm.h > rename to 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 > similarity index 100% > rename from src/ipa/raspberrypi/controller/af_status.h > rename to 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 > similarity index 100% > rename from src/ipa/raspberrypi/controller/agc_algorithm.h > rename to 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 > similarity index 100% > rename from src/ipa/raspberrypi/controller/agc_status.h > rename to src/ipa/rpi/controller/agc_status.h > diff --git a/src/ipa/raspberrypi/controller/algorithm.cpp b/src/ipa/rpi/controller/algorithm.cpp > similarity index 100% > rename from src/ipa/raspberrypi/controller/algorithm.cpp > rename to src/ipa/rpi/controller/algorithm.cpp > diff --git a/src/ipa/raspberrypi/controller/algorithm.h b/src/ipa/rpi/controller/algorithm.h > similarity index 100% > rename from src/ipa/raspberrypi/controller/algorithm.h > rename to src/ipa/rpi/controller/algorithm.h > diff --git a/src/ipa/raspberrypi/controller/alsc_status.h b/src/ipa/rpi/controller/alsc_status.h > similarity index 100% > rename from src/ipa/raspberrypi/controller/alsc_status.h > rename to 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 > similarity index 100% > rename from src/ipa/raspberrypi/controller/awb_algorithm.h > rename to 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 > similarity index 100% > rename from src/ipa/raspberrypi/controller/awb_status.h > rename to 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 > similarity index 100% > rename from src/ipa/raspberrypi/controller/black_level_status.h > rename to 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 > similarity index 100% > rename from src/ipa/raspberrypi/controller/camera_mode.h > rename to 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 > similarity index 100% > rename from src/ipa/raspberrypi/controller/ccm_algorithm.h > rename to 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 > similarity index 100% > rename from src/ipa/raspberrypi/controller/ccm_status.h > rename to 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 > similarity index 100% > rename from src/ipa/raspberrypi/controller/contrast_algorithm.h > rename to 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 > similarity index 100% > rename from src/ipa/raspberrypi/controller/contrast_status.h > rename to src/ipa/rpi/controller/contrast_status.h > diff --git a/src/ipa/raspberrypi/controller/controller.cpp b/src/ipa/rpi/controller/controller.cpp > similarity index 100% > rename from src/ipa/raspberrypi/controller/controller.cpp > rename to src/ipa/rpi/controller/controller.cpp > diff --git a/src/ipa/raspberrypi/controller/controller.h b/src/ipa/rpi/controller/controller.h > similarity index 100% > rename from src/ipa/raspberrypi/controller/controller.h > rename to src/ipa/rpi/controller/controller.h > diff --git a/src/ipa/raspberrypi/controller/denoise_algorithm.h b/src/ipa/rpi/controller/denoise_algorithm.h > similarity index 100% > rename from src/ipa/raspberrypi/controller/denoise_algorithm.h > rename to 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 > similarity index 100% > rename from src/ipa/raspberrypi/controller/denoise_status.h > rename to 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 > similarity index 100% > rename from src/ipa/raspberrypi/controller/device_status.cpp > rename to 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 > similarity index 100% > rename from src/ipa/raspberrypi/controller/device_status.h > rename to 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 > similarity index 100% > rename from src/ipa/raspberrypi/controller/dpc_status.h > rename to 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 > similarity index 100% > rename from src/ipa/raspberrypi/controller/geq_status.h > rename to src/ipa/rpi/controller/geq_status.h > diff --git a/src/ipa/raspberrypi/controller/histogram.cpp b/src/ipa/rpi/controller/histogram.cpp > similarity index 100% > rename from src/ipa/raspberrypi/controller/histogram.cpp > rename to src/ipa/rpi/controller/histogram.cpp > diff --git a/src/ipa/raspberrypi/controller/histogram.h b/src/ipa/rpi/controller/histogram.h > similarity index 100% > rename from src/ipa/raspberrypi/controller/histogram.h > rename to src/ipa/rpi/controller/histogram.h > diff --git a/src/ipa/raspberrypi/controller/lux_status.h b/src/ipa/rpi/controller/lux_status.h > similarity index 100% > rename from src/ipa/raspberrypi/controller/lux_status.h > rename to 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 000000000000..90a67412444e > --- /dev/null > +++ b/src/ipa/rpi/controller/meson.build > @@ -0,0 +1,22 @@ > +# 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', > +]) > diff --git a/src/ipa/raspberrypi/controller/metadata.h b/src/ipa/rpi/controller/metadata.h > similarity index 100% > rename from src/ipa/raspberrypi/controller/metadata.h > rename to src/ipa/rpi/controller/metadata.h > diff --git a/src/ipa/raspberrypi/controller/noise_status.h b/src/ipa/rpi/controller/noise_status.h > similarity index 100% > rename from src/ipa/raspberrypi/controller/noise_status.h > rename to 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 > similarity index 100% > rename from src/ipa/raspberrypi/controller/pdaf_data.h > rename to src/ipa/rpi/controller/pdaf_data.h > diff --git a/src/ipa/raspberrypi/controller/pwl.cpp b/src/ipa/rpi/controller/pwl.cpp > similarity index 100% > rename from src/ipa/raspberrypi/controller/pwl.cpp > rename to src/ipa/rpi/controller/pwl.cpp > diff --git a/src/ipa/raspberrypi/controller/pwl.h b/src/ipa/rpi/controller/pwl.h > similarity index 100% > rename from src/ipa/raspberrypi/controller/pwl.h > rename to src/ipa/rpi/controller/pwl.h > diff --git a/src/ipa/raspberrypi/controller/region_stats.h b/src/ipa/rpi/controller/region_stats.h > similarity index 100% > rename from src/ipa/raspberrypi/controller/region_stats.h > rename to 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 > similarity index 100% > rename from src/ipa/raspberrypi/controller/rpi/af.cpp > rename to 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 > similarity index 100% > rename from src/ipa/raspberrypi/controller/rpi/af.h > rename to 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 > similarity index 100% > rename from src/ipa/raspberrypi/controller/rpi/agc.cpp > rename to 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 > similarity index 100% > rename from src/ipa/raspberrypi/controller/rpi/agc.h > rename to 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 > similarity index 100% > rename from src/ipa/raspberrypi/controller/rpi/alsc.cpp > rename to 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 > similarity index 100% > rename from src/ipa/raspberrypi/controller/rpi/alsc.h > rename to 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 > similarity index 100% > rename from src/ipa/raspberrypi/controller/rpi/awb.cpp > rename to 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 > similarity index 100% > rename from src/ipa/raspberrypi/controller/rpi/awb.h > rename to 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 > similarity index 100% > rename from src/ipa/raspberrypi/controller/rpi/black_level.cpp > rename to 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 > similarity index 100% > rename from src/ipa/raspberrypi/controller/rpi/black_level.h > rename to 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 > similarity index 100% > rename from src/ipa/raspberrypi/controller/rpi/ccm.cpp > rename to 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 > similarity index 100% > rename from src/ipa/raspberrypi/controller/rpi/ccm.h > rename to 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 > similarity index 100% > rename from src/ipa/raspberrypi/controller/rpi/contrast.cpp > rename to 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 > similarity index 100% > rename from src/ipa/raspberrypi/controller/rpi/contrast.h > rename to 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 > similarity index 100% > rename from src/ipa/raspberrypi/controller/rpi/dpc.cpp > rename to 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 > similarity index 100% > rename from src/ipa/raspberrypi/controller/rpi/dpc.h > rename to 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 > similarity index 100% > rename from src/ipa/raspberrypi/controller/rpi/focus.h > rename to 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 > similarity index 100% > rename from src/ipa/raspberrypi/controller/rpi/geq.cpp > rename to 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 > similarity index 100% > rename from src/ipa/raspberrypi/controller/rpi/geq.h > rename to 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 > similarity index 100% > rename from src/ipa/raspberrypi/controller/rpi/lux.cpp > rename to 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 > similarity index 100% > rename from src/ipa/raspberrypi/controller/rpi/lux.h > rename to 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 > similarity index 100% > rename from src/ipa/raspberrypi/controller/rpi/noise.cpp > rename to 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 > similarity index 100% > rename from src/ipa/raspberrypi/controller/rpi/noise.h > rename to 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 > similarity index 100% > rename from src/ipa/raspberrypi/controller/rpi/sdn.cpp > rename to 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 > similarity index 100% > rename from src/ipa/raspberrypi/controller/rpi/sdn.h > rename to 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 > similarity index 100% > rename from src/ipa/raspberrypi/controller/rpi/sharpen.cpp > rename to 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 > similarity index 100% > rename from src/ipa/raspberrypi/controller/rpi/sharpen.h > rename to 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 > similarity index 100% > rename from src/ipa/raspberrypi/controller/sharpen_algorithm.h > rename to 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 > similarity index 100% > rename from src/ipa/raspberrypi/controller/sharpen_status.h > rename to src/ipa/rpi/controller/sharpen_status.h > diff --git a/src/ipa/raspberrypi/statistics.h b/src/ipa/rpi/controller/statistics.h > similarity index 100% > rename from src/ipa/raspberrypi/statistics.h > rename to src/ipa/rpi/controller/statistics.h > diff --git a/src/ipa/raspberrypi/data/imx219.json b/src/ipa/rpi/vc4/data/imx219.json > similarity index 100% > rename from src/ipa/raspberrypi/data/imx219.json > rename to 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 > similarity index 100% > rename from src/ipa/raspberrypi/data/imx219_noir.json > rename to 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 > similarity index 100% > rename from src/ipa/raspberrypi/data/imx290.json > rename to src/ipa/rpi/vc4/data/imx290.json > diff --git a/src/ipa/raspberrypi/data/imx296.json b/src/ipa/rpi/vc4/data/imx296.json > similarity index 100% > rename from src/ipa/raspberrypi/data/imx296.json > rename to 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 > similarity index 100% > rename from src/ipa/raspberrypi/data/imx296_mono.json > rename to 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 > similarity index 100% > rename from src/ipa/raspberrypi/data/imx378.json > rename to src/ipa/rpi/vc4/data/imx378.json > diff --git a/src/ipa/raspberrypi/data/imx477.json b/src/ipa/rpi/vc4/data/imx477.json > similarity index 100% > rename from src/ipa/raspberrypi/data/imx477.json > rename to 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 > similarity index 100% > rename from src/ipa/raspberrypi/data/imx477_noir.json > rename to 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 > similarity index 100% > rename from src/ipa/raspberrypi/data/imx477_scientific.json > rename to 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 > similarity index 100% > rename from src/ipa/raspberrypi/data/imx477_v1.json > rename to 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 > similarity index 100% > rename from src/ipa/raspberrypi/data/imx519.json > rename to src/ipa/rpi/vc4/data/imx519.json > diff --git a/src/ipa/raspberrypi/data/imx708.json b/src/ipa/rpi/vc4/data/imx708.json > similarity index 100% > rename from src/ipa/raspberrypi/data/imx708.json > rename to 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 > similarity index 100% > rename from src/ipa/raspberrypi/data/imx708_noir.json > rename to 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 > similarity index 100% > rename from src/ipa/raspberrypi/data/imx708_wide.json > rename to 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 > similarity index 100% > rename from src/ipa/raspberrypi/data/imx708_wide_noir.json > rename to 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 > similarity index 89% > rename from src/ipa/raspberrypi/data/meson.build > rename to src/ipa/rpi/vc4/data/meson.build > index b163a052f57c..327462fa2420 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 > similarity index 100% > rename from src/ipa/raspberrypi/data/ov5647.json > rename to 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 > similarity index 100% > rename from src/ipa/raspberrypi/data/ov5647_noir.json > rename to 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 > similarity index 100% > rename from src/ipa/raspberrypi/data/ov9281_mono.json > rename to 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 > similarity index 100% > rename from src/ipa/raspberrypi/data/se327m12.json > rename to src/ipa/rpi/vc4/data/se327m12.json > diff --git a/src/ipa/raspberrypi/data/uncalibrated.json b/src/ipa/rpi/vc4/data/uncalibrated.json > similarity index 100% > rename from src/ipa/raspberrypi/data/uncalibrated.json > rename to 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 000000000000..992d0f1ab5a7 > --- /dev/null > +++ b/src/ipa/rpi/vc4/meson.build > @@ -0,0 +1,40 @@ > +# SPDX-License-Identifier: CC0-1.0 > + > +ipa_name = 'ipa_vc4' Including the "prefix" in the name ('ipa_rpi_vc4') would help avoiding namespace clashes. > + > +vc4_ipa_deps = [ > + libcamera_private, > + libatomic, > +] > + > +vc4_ipa_includes = [ > + ipa_includes, > + libipa_includes, > +] > + > +vc4_ipa_sources = files([ > + 'raspberrypi.cpp', > +]) > + > +vc4_ipa_includes += include_directories('..') > +vc4_ipa_sources += [rpi_ipa_cam_helper_sources, rpi_ipa_controller_sources] Could we avoid building the shared sources multiple times by using a static library ? > + > +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, > + 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') > diff --git a/src/ipa/raspberrypi/raspberrypi.cpp b/src/ipa/rpi/vc4/raspberrypi.cpp > similarity index 98% > rename from src/ipa/raspberrypi/raspberrypi.cpp > rename to src/ipa/rpi/vc4/raspberrypi.cpp > index 9c29fa9a5e5c..841635ccde2b 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", > + "vc4", > }; > > IPAInterface *ipaCreate() > diff --git a/src/libcamera/pipeline/rpi/vc4/raspberrypi.cpp b/src/libcamera/pipeline/rpi/vc4/raspberrypi.cpp > index 4595773d2517..cfde7f2e2229 100644 > --- a/src/libcamera/pipeline/rpi/vc4/raspberrypi.cpp > +++ b/src/libcamera/pipeline/rpi/vc4/raspberrypi.cpp > @@ -1668,7 +1668,7 @@ int RPiCameraData::loadIPA(ipa::RPi::IPAInitResult *result) > std::string model = sensor_->model(); > if (isMonoSensor(sensor_)) > model += "_mono"; > - configurationFile = ipa_->configurationFile(model + ".json", ""); > + configurationFile = ipa_->configurationFile(model + ".json", "rpi"); > } else { > configurationFile = std::string(configFromEnv); > }
diff --git a/Documentation/environment_variables.rst b/Documentation/environment_variables.rst index 4bf38b877897..888707785ee1 100644 --- a/Documentation/environment_variables.rst +++ b/Documentation/environment_variables.rst @@ -143,7 +143,7 @@ contain tuning parameters for the algorithms, in JSON format. The ``LIBCAMERA_IPA_CONFIG_PATH`` variable can be used to specify custom storage locations to search for those configuration files. -`Examples <https://git.libcamera.org/libcamera/libcamera.git/tree/src/ipa/raspberrypi/data>`__ +`Examples <https://git.libcamera.org/libcamera/libcamera.git/tree/src/ipa/rpi/data>`__ IPA module ~~~~~~~~~~ diff --git a/meson_options.txt b/meson_options.txt index e1f4c205aa94..596f813ea5e5 100644 --- a/meson_options.txt +++ b/meson_options.txt @@ -27,7 +27,7 @@ option('gstreamer', option('ipas', type : 'array', - choices : ['ipu3', 'raspberrypi', 'rkisp1', 'vimc'], + choices : ['ipu3', 'rpi/vc4', 'rkisp1', 'vimc'], description : 'Select which IPA modules to build') option('lc-compliance', diff --git a/src/ipa/meson.build b/src/ipa/meson.build index 76ad5b445601..10d3b44ca7b6 100644 --- a/src/ipa/meson.build +++ b/src/ipa/meson.build @@ -37,6 +37,16 @@ endif enabled_ipa_modules = [] +# If the Raspberry Pi VC4 IPA is enabled, ensure we include the rpi/cam_helper +# and rpi/controller subdirectories in the build. +# +# This is done here and not within rpi/vc4/meson.build as meson does not +# allow the subdir command to traverse up the directory tree. +if pipelines.contains('rpi/vc4') + subdir('rpi/cam_helper') + subdir('rpi/controller') +endif + # The ipa-sign-install.sh script which uses the ipa_names variable will itself # prepend MESON_INSTALL_DESTDIR_PREFIX to each ipa module name, therefore we # must not include the prefix string here. diff --git a/src/ipa/raspberrypi/meson.build b/src/ipa/raspberrypi/meson.build deleted file mode 100644 index de78cbd80f9c..000000000000 --- a/src/ipa/raspberrypi/meson.build +++ /dev/null @@ -1,66 +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') diff --git a/src/ipa/raspberrypi/README.md b/src/ipa/rpi/README.md similarity index 100% rename from src/ipa/raspberrypi/README.md rename to src/ipa/rpi/README.md diff --git a/src/ipa/raspberrypi/cam_helper.cpp b/src/ipa/rpi/cam_helper/cam_helper.cpp similarity index 100% rename from src/ipa/raspberrypi/cam_helper.cpp rename to 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 similarity index 99% rename from src/ipa/raspberrypi/cam_helper.h rename to src/ipa/rpi/cam_helper/cam_helper.h index b3f8c9803094..58a4b202d5a8 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 similarity index 100% rename from src/ipa/raspberrypi/cam_helper_imx219.cpp rename to 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 similarity index 100% rename from src/ipa/raspberrypi/cam_helper_imx290.cpp rename to 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 similarity index 100% rename from src/ipa/raspberrypi/cam_helper_imx296.cpp rename to 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 similarity index 100% rename from src/ipa/raspberrypi/cam_helper_imx477.cpp rename to 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 similarity index 100% rename from src/ipa/raspberrypi/cam_helper_imx519.cpp rename to 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 similarity index 100% rename from src/ipa/raspberrypi/cam_helper_imx708.cpp rename to 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 similarity index 100% rename from src/ipa/raspberrypi/cam_helper_ov5647.cpp rename to 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 similarity index 100% rename from src/ipa/raspberrypi/cam_helper_ov9281.cpp rename to 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 similarity index 100% rename from src/ipa/raspberrypi/md_parser.h rename to 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 similarity index 100% rename from src/ipa/raspberrypi/md_parser_smia.cpp rename to 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 000000000000..aa42ae91f69d --- /dev/null +++ b/src/ipa/rpi/cam_helper/meson.build @@ -0,0 +1,14 @@ +# 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', +]) diff --git a/src/ipa/raspberrypi/controller/af_algorithm.h b/src/ipa/rpi/controller/af_algorithm.h similarity index 100% rename from src/ipa/raspberrypi/controller/af_algorithm.h rename to 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 similarity index 100% rename from src/ipa/raspberrypi/controller/af_status.h rename to 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 similarity index 100% rename from src/ipa/raspberrypi/controller/agc_algorithm.h rename to 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 similarity index 100% rename from src/ipa/raspberrypi/controller/agc_status.h rename to src/ipa/rpi/controller/agc_status.h diff --git a/src/ipa/raspberrypi/controller/algorithm.cpp b/src/ipa/rpi/controller/algorithm.cpp similarity index 100% rename from src/ipa/raspberrypi/controller/algorithm.cpp rename to src/ipa/rpi/controller/algorithm.cpp diff --git a/src/ipa/raspberrypi/controller/algorithm.h b/src/ipa/rpi/controller/algorithm.h similarity index 100% rename from src/ipa/raspberrypi/controller/algorithm.h rename to src/ipa/rpi/controller/algorithm.h diff --git a/src/ipa/raspberrypi/controller/alsc_status.h b/src/ipa/rpi/controller/alsc_status.h similarity index 100% rename from src/ipa/raspberrypi/controller/alsc_status.h rename to 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 similarity index 100% rename from src/ipa/raspberrypi/controller/awb_algorithm.h rename to 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 similarity index 100% rename from src/ipa/raspberrypi/controller/awb_status.h rename to 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 similarity index 100% rename from src/ipa/raspberrypi/controller/black_level_status.h rename to 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 similarity index 100% rename from src/ipa/raspberrypi/controller/camera_mode.h rename to 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 similarity index 100% rename from src/ipa/raspberrypi/controller/ccm_algorithm.h rename to 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 similarity index 100% rename from src/ipa/raspberrypi/controller/ccm_status.h rename to 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 similarity index 100% rename from src/ipa/raspberrypi/controller/contrast_algorithm.h rename to 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 similarity index 100% rename from src/ipa/raspberrypi/controller/contrast_status.h rename to src/ipa/rpi/controller/contrast_status.h diff --git a/src/ipa/raspberrypi/controller/controller.cpp b/src/ipa/rpi/controller/controller.cpp similarity index 100% rename from src/ipa/raspberrypi/controller/controller.cpp rename to src/ipa/rpi/controller/controller.cpp diff --git a/src/ipa/raspberrypi/controller/controller.h b/src/ipa/rpi/controller/controller.h similarity index 100% rename from src/ipa/raspberrypi/controller/controller.h rename to src/ipa/rpi/controller/controller.h diff --git a/src/ipa/raspberrypi/controller/denoise_algorithm.h b/src/ipa/rpi/controller/denoise_algorithm.h similarity index 100% rename from src/ipa/raspberrypi/controller/denoise_algorithm.h rename to 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 similarity index 100% rename from src/ipa/raspberrypi/controller/denoise_status.h rename to 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 similarity index 100% rename from src/ipa/raspberrypi/controller/device_status.cpp rename to 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 similarity index 100% rename from src/ipa/raspberrypi/controller/device_status.h rename to 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 similarity index 100% rename from src/ipa/raspberrypi/controller/dpc_status.h rename to 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 similarity index 100% rename from src/ipa/raspberrypi/controller/geq_status.h rename to src/ipa/rpi/controller/geq_status.h diff --git a/src/ipa/raspberrypi/controller/histogram.cpp b/src/ipa/rpi/controller/histogram.cpp similarity index 100% rename from src/ipa/raspberrypi/controller/histogram.cpp rename to src/ipa/rpi/controller/histogram.cpp diff --git a/src/ipa/raspberrypi/controller/histogram.h b/src/ipa/rpi/controller/histogram.h similarity index 100% rename from src/ipa/raspberrypi/controller/histogram.h rename to src/ipa/rpi/controller/histogram.h diff --git a/src/ipa/raspberrypi/controller/lux_status.h b/src/ipa/rpi/controller/lux_status.h similarity index 100% rename from src/ipa/raspberrypi/controller/lux_status.h rename to 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 000000000000..90a67412444e --- /dev/null +++ b/src/ipa/rpi/controller/meson.build @@ -0,0 +1,22 @@ +# 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', +]) diff --git a/src/ipa/raspberrypi/controller/metadata.h b/src/ipa/rpi/controller/metadata.h similarity index 100% rename from src/ipa/raspberrypi/controller/metadata.h rename to src/ipa/rpi/controller/metadata.h diff --git a/src/ipa/raspberrypi/controller/noise_status.h b/src/ipa/rpi/controller/noise_status.h similarity index 100% rename from src/ipa/raspberrypi/controller/noise_status.h rename to 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 similarity index 100% rename from src/ipa/raspberrypi/controller/pdaf_data.h rename to src/ipa/rpi/controller/pdaf_data.h diff --git a/src/ipa/raspberrypi/controller/pwl.cpp b/src/ipa/rpi/controller/pwl.cpp similarity index 100% rename from src/ipa/raspberrypi/controller/pwl.cpp rename to src/ipa/rpi/controller/pwl.cpp diff --git a/src/ipa/raspberrypi/controller/pwl.h b/src/ipa/rpi/controller/pwl.h similarity index 100% rename from src/ipa/raspberrypi/controller/pwl.h rename to src/ipa/rpi/controller/pwl.h diff --git a/src/ipa/raspberrypi/controller/region_stats.h b/src/ipa/rpi/controller/region_stats.h similarity index 100% rename from src/ipa/raspberrypi/controller/region_stats.h rename to 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 similarity index 100% rename from src/ipa/raspberrypi/controller/rpi/af.cpp rename to 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 similarity index 100% rename from src/ipa/raspberrypi/controller/rpi/af.h rename to 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 similarity index 100% rename from src/ipa/raspberrypi/controller/rpi/agc.cpp rename to 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 similarity index 100% rename from src/ipa/raspberrypi/controller/rpi/agc.h rename to 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 similarity index 100% rename from src/ipa/raspberrypi/controller/rpi/alsc.cpp rename to 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 similarity index 100% rename from src/ipa/raspberrypi/controller/rpi/alsc.h rename to 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 similarity index 100% rename from src/ipa/raspberrypi/controller/rpi/awb.cpp rename to 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 similarity index 100% rename from src/ipa/raspberrypi/controller/rpi/awb.h rename to 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 similarity index 100% rename from src/ipa/raspberrypi/controller/rpi/black_level.cpp rename to 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 similarity index 100% rename from src/ipa/raspberrypi/controller/rpi/black_level.h rename to 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 similarity index 100% rename from src/ipa/raspberrypi/controller/rpi/ccm.cpp rename to 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 similarity index 100% rename from src/ipa/raspberrypi/controller/rpi/ccm.h rename to 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 similarity index 100% rename from src/ipa/raspberrypi/controller/rpi/contrast.cpp rename to 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 similarity index 100% rename from src/ipa/raspberrypi/controller/rpi/contrast.h rename to 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 similarity index 100% rename from src/ipa/raspberrypi/controller/rpi/dpc.cpp rename to 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 similarity index 100% rename from src/ipa/raspberrypi/controller/rpi/dpc.h rename to 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 similarity index 100% rename from src/ipa/raspberrypi/controller/rpi/focus.h rename to 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 similarity index 100% rename from src/ipa/raspberrypi/controller/rpi/geq.cpp rename to 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 similarity index 100% rename from src/ipa/raspberrypi/controller/rpi/geq.h rename to 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 similarity index 100% rename from src/ipa/raspberrypi/controller/rpi/lux.cpp rename to 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 similarity index 100% rename from src/ipa/raspberrypi/controller/rpi/lux.h rename to 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 similarity index 100% rename from src/ipa/raspberrypi/controller/rpi/noise.cpp rename to 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 similarity index 100% rename from src/ipa/raspberrypi/controller/rpi/noise.h rename to 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 similarity index 100% rename from src/ipa/raspberrypi/controller/rpi/sdn.cpp rename to 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 similarity index 100% rename from src/ipa/raspberrypi/controller/rpi/sdn.h rename to 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 similarity index 100% rename from src/ipa/raspberrypi/controller/rpi/sharpen.cpp rename to 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 similarity index 100% rename from src/ipa/raspberrypi/controller/rpi/sharpen.h rename to 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 similarity index 100% rename from src/ipa/raspberrypi/controller/sharpen_algorithm.h rename to 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 similarity index 100% rename from src/ipa/raspberrypi/controller/sharpen_status.h rename to src/ipa/rpi/controller/sharpen_status.h diff --git a/src/ipa/raspberrypi/statistics.h b/src/ipa/rpi/controller/statistics.h similarity index 100% rename from src/ipa/raspberrypi/statistics.h rename to src/ipa/rpi/controller/statistics.h diff --git a/src/ipa/raspberrypi/data/imx219.json b/src/ipa/rpi/vc4/data/imx219.json similarity index 100% rename from src/ipa/raspberrypi/data/imx219.json rename to 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 similarity index 100% rename from src/ipa/raspberrypi/data/imx219_noir.json rename to 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 similarity index 100% rename from src/ipa/raspberrypi/data/imx290.json rename to src/ipa/rpi/vc4/data/imx290.json diff --git a/src/ipa/raspberrypi/data/imx296.json b/src/ipa/rpi/vc4/data/imx296.json similarity index 100% rename from src/ipa/raspberrypi/data/imx296.json rename to 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 similarity index 100% rename from src/ipa/raspberrypi/data/imx296_mono.json rename to 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 similarity index 100% rename from src/ipa/raspberrypi/data/imx378.json rename to src/ipa/rpi/vc4/data/imx378.json diff --git a/src/ipa/raspberrypi/data/imx477.json b/src/ipa/rpi/vc4/data/imx477.json similarity index 100% rename from src/ipa/raspberrypi/data/imx477.json rename to 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 similarity index 100% rename from src/ipa/raspberrypi/data/imx477_noir.json rename to 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 similarity index 100% rename from src/ipa/raspberrypi/data/imx477_scientific.json rename to 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 similarity index 100% rename from src/ipa/raspberrypi/data/imx477_v1.json rename to 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 similarity index 100% rename from src/ipa/raspberrypi/data/imx519.json rename to src/ipa/rpi/vc4/data/imx519.json diff --git a/src/ipa/raspberrypi/data/imx708.json b/src/ipa/rpi/vc4/data/imx708.json similarity index 100% rename from src/ipa/raspberrypi/data/imx708.json rename to 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 similarity index 100% rename from src/ipa/raspberrypi/data/imx708_noir.json rename to 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 similarity index 100% rename from src/ipa/raspberrypi/data/imx708_wide.json rename to 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 similarity index 100% rename from src/ipa/raspberrypi/data/imx708_wide_noir.json rename to 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 similarity index 89% rename from src/ipa/raspberrypi/data/meson.build rename to src/ipa/rpi/vc4/data/meson.build index b163a052f57c..327462fa2420 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 similarity index 100% rename from src/ipa/raspberrypi/data/ov5647.json rename to 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 similarity index 100% rename from src/ipa/raspberrypi/data/ov5647_noir.json rename to 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 similarity index 100% rename from src/ipa/raspberrypi/data/ov9281_mono.json rename to 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 similarity index 100% rename from src/ipa/raspberrypi/data/se327m12.json rename to src/ipa/rpi/vc4/data/se327m12.json diff --git a/src/ipa/raspberrypi/data/uncalibrated.json b/src/ipa/rpi/vc4/data/uncalibrated.json similarity index 100% rename from src/ipa/raspberrypi/data/uncalibrated.json rename to 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 000000000000..992d0f1ab5a7 --- /dev/null +++ b/src/ipa/rpi/vc4/meson.build @@ -0,0 +1,40 @@ +# SPDX-License-Identifier: CC0-1.0 + +ipa_name = 'ipa_vc4' + +vc4_ipa_deps = [ + libcamera_private, + libatomic, +] + +vc4_ipa_includes = [ + ipa_includes, + libipa_includes, +] + +vc4_ipa_sources = files([ + 'raspberrypi.cpp', +]) + +vc4_ipa_includes += include_directories('..') +vc4_ipa_sources += [rpi_ipa_cam_helper_sources, rpi_ipa_controller_sources] + +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, + 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') diff --git a/src/ipa/raspberrypi/raspberrypi.cpp b/src/ipa/rpi/vc4/raspberrypi.cpp similarity index 98% rename from src/ipa/raspberrypi/raspberrypi.cpp rename to src/ipa/rpi/vc4/raspberrypi.cpp index 9c29fa9a5e5c..841635ccde2b 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", + "vc4", }; IPAInterface *ipaCreate() diff --git a/src/libcamera/pipeline/rpi/vc4/raspberrypi.cpp b/src/libcamera/pipeline/rpi/vc4/raspberrypi.cpp index 4595773d2517..cfde7f2e2229 100644 --- a/src/libcamera/pipeline/rpi/vc4/raspberrypi.cpp +++ b/src/libcamera/pipeline/rpi/vc4/raspberrypi.cpp @@ -1668,7 +1668,7 @@ int RPiCameraData::loadIPA(ipa::RPi::IPAInitResult *result) std::string model = sensor_->model(); if (isMonoSensor(sensor_)) model += "_mono"; - configurationFile = ipa_->configurationFile(model + ".json", ""); + configurationFile = ipa_->configurationFile(model + ".json", "rpi"); } else { configurationFile = std::string(configFromEnv); }
Split the Raspberry Pi IPA code into common and VC4/BCM2835 specific file structures. The common code files now live in src/ipa/rpi/{cam_helper,controller}/ and the vc4 specific files in src/ipa/rpi/vc4/. To build the IPA, the meson configuration option to select the Raspberry Pi IPA has now changed from "raspberrypi" to "rpi/vc4": meson setup build --Dipas=rpi/vc4 With this change, the camera tuning files are now installed under share/libcamera/ipa/rpi/vc4/ Signed-off-by: Naushir Patuck <naush@raspberrypi.com> --- Documentation/environment_variables.rst | 2 +- meson_options.txt | 2 +- src/ipa/meson.build | 10 +++ src/ipa/raspberrypi/meson.build | 66 ------------------- src/ipa/{raspberrypi => rpi}/README.md | 0 .../cam_helper}/cam_helper.cpp | 0 .../cam_helper}/cam_helper.h | 2 +- .../cam_helper}/cam_helper_imx219.cpp | 0 .../cam_helper}/cam_helper_imx290.cpp | 0 .../cam_helper}/cam_helper_imx296.cpp | 0 .../cam_helper}/cam_helper_imx477.cpp | 0 .../cam_helper}/cam_helper_imx519.cpp | 0 .../cam_helper}/cam_helper_imx708.cpp | 0 .../cam_helper}/cam_helper_ov5647.cpp | 0 .../cam_helper}/cam_helper_ov9281.cpp | 0 .../cam_helper}/md_parser.h | 0 .../cam_helper}/md_parser_smia.cpp | 0 src/ipa/rpi/cam_helper/meson.build | 14 ++++ .../controller/af_algorithm.h | 0 .../controller/af_status.h | 0 .../controller/agc_algorithm.h | 0 .../controller/agc_status.h | 0 .../controller/algorithm.cpp | 0 .../controller/algorithm.h | 0 .../controller/alsc_status.h | 0 .../controller/awb_algorithm.h | 0 .../controller/awb_status.h | 0 .../controller/black_level_status.h | 0 .../controller/camera_mode.h | 0 .../controller/ccm_algorithm.h | 0 .../controller/ccm_status.h | 0 .../controller/contrast_algorithm.h | 0 .../controller/contrast_status.h | 0 .../controller/controller.cpp | 0 .../controller/controller.h | 0 .../controller/denoise_algorithm.h | 0 .../controller/denoise_status.h | 0 .../controller/device_status.cpp | 0 .../controller/device_status.h | 0 .../controller/dpc_status.h | 0 .../controller/geq_status.h | 0 .../controller/histogram.cpp | 0 .../controller/histogram.h | 0 .../controller/lux_status.h | 0 src/ipa/rpi/controller/meson.build | 22 +++++++ .../controller/metadata.h | 0 .../controller/noise_status.h | 0 .../controller/pdaf_data.h | 0 .../{raspberrypi => rpi}/controller/pwl.cpp | 0 src/ipa/{raspberrypi => rpi}/controller/pwl.h | 0 .../controller/region_stats.h | 0 .../controller/rpi/af.cpp | 0 .../{raspberrypi => rpi}/controller/rpi/af.h | 0 .../controller/rpi/agc.cpp | 0 .../{raspberrypi => rpi}/controller/rpi/agc.h | 0 .../controller/rpi/alsc.cpp | 0 .../controller/rpi/alsc.h | 0 .../controller/rpi/awb.cpp | 0 .../{raspberrypi => rpi}/controller/rpi/awb.h | 0 .../controller/rpi/black_level.cpp | 0 .../controller/rpi/black_level.h | 0 .../controller/rpi/ccm.cpp | 0 .../{raspberrypi => rpi}/controller/rpi/ccm.h | 0 .../controller/rpi/contrast.cpp | 0 .../controller/rpi/contrast.h | 0 .../controller/rpi/dpc.cpp | 0 .../{raspberrypi => rpi}/controller/rpi/dpc.h | 0 .../controller/rpi/focus.h | 0 .../controller/rpi/geq.cpp | 0 .../{raspberrypi => rpi}/controller/rpi/geq.h | 0 .../controller/rpi/lux.cpp | 0 .../{raspberrypi => rpi}/controller/rpi/lux.h | 0 .../controller/rpi/noise.cpp | 0 .../controller/rpi/noise.h | 0 .../controller/rpi/sdn.cpp | 0 .../{raspberrypi => rpi}/controller/rpi/sdn.h | 0 .../controller/rpi/sharpen.cpp | 0 .../controller/rpi/sharpen.h | 0 .../controller/sharpen_algorithm.h | 0 .../controller/sharpen_status.h | 0 .../controller}/statistics.h | 0 .../{raspberrypi => rpi/vc4}/data/imx219.json | 0 .../vc4}/data/imx219_noir.json | 0 .../{raspberrypi => rpi/vc4}/data/imx290.json | 0 .../{raspberrypi => rpi/vc4}/data/imx296.json | 0 .../vc4}/data/imx296_mono.json | 0 .../{raspberrypi => rpi/vc4}/data/imx378.json | 0 .../{raspberrypi => rpi/vc4}/data/imx477.json | 0 .../vc4}/data/imx477_noir.json | 0 .../vc4}/data/imx477_scientific.json | 0 .../vc4}/data/imx477_v1.json | 0 .../{raspberrypi => rpi/vc4}/data/imx519.json | 0 .../{raspberrypi => rpi/vc4}/data/imx708.json | 0 .../vc4}/data/imx708_noir.json | 0 .../vc4}/data/imx708_wide.json | 0 .../vc4}/data/imx708_wide_noir.json | 0 .../{raspberrypi => rpi/vc4}/data/meson.build | 2 +- .../{raspberrypi => rpi/vc4}/data/ov5647.json | 0 .../vc4}/data/ov5647_noir.json | 0 .../vc4}/data/ov9281_mono.json | 0 .../vc4}/data/se327m12.json | 0 .../vc4}/data/uncalibrated.json | 0 src/ipa/rpi/vc4/meson.build | 40 +++++++++++ .../{raspberrypi => rpi/vc4}/raspberrypi.cpp | 48 +++++++------- .../pipeline/rpi/vc4/raspberrypi.cpp | 2 +- 105 files changed, 115 insertions(+), 95 deletions(-) delete mode 100644 src/ipa/raspberrypi/meson.build rename src/ipa/{raspberrypi => rpi}/README.md (100%) rename src/ipa/{raspberrypi => rpi/cam_helper}/cam_helper.cpp (100%) rename src/ipa/{raspberrypi => rpi/cam_helper}/cam_helper.h (99%) rename src/ipa/{raspberrypi => rpi/cam_helper}/cam_helper_imx219.cpp (100%) rename src/ipa/{raspberrypi => rpi/cam_helper}/cam_helper_imx290.cpp (100%) rename src/ipa/{raspberrypi => rpi/cam_helper}/cam_helper_imx296.cpp (100%) rename src/ipa/{raspberrypi => rpi/cam_helper}/cam_helper_imx477.cpp (100%) rename src/ipa/{raspberrypi => rpi/cam_helper}/cam_helper_imx519.cpp (100%) rename src/ipa/{raspberrypi => rpi/cam_helper}/cam_helper_imx708.cpp (100%) rename src/ipa/{raspberrypi => rpi/cam_helper}/cam_helper_ov5647.cpp (100%) rename src/ipa/{raspberrypi => rpi/cam_helper}/cam_helper_ov9281.cpp (100%) rename src/ipa/{raspberrypi => rpi/cam_helper}/md_parser.h (100%) rename src/ipa/{raspberrypi => rpi/cam_helper}/md_parser_smia.cpp (100%) create mode 100644 src/ipa/rpi/cam_helper/meson.build rename src/ipa/{raspberrypi => rpi}/controller/af_algorithm.h (100%) rename src/ipa/{raspberrypi => rpi}/controller/af_status.h (100%) rename src/ipa/{raspberrypi => rpi}/controller/agc_algorithm.h (100%) rename src/ipa/{raspberrypi => rpi}/controller/agc_status.h (100%) rename src/ipa/{raspberrypi => rpi}/controller/algorithm.cpp (100%) rename src/ipa/{raspberrypi => rpi}/controller/algorithm.h (100%) rename src/ipa/{raspberrypi => rpi}/controller/alsc_status.h (100%) rename src/ipa/{raspberrypi => rpi}/controller/awb_algorithm.h (100%) rename src/ipa/{raspberrypi => rpi}/controller/awb_status.h (100%) rename src/ipa/{raspberrypi => rpi}/controller/black_level_status.h (100%) rename src/ipa/{raspberrypi => rpi}/controller/camera_mode.h (100%) rename src/ipa/{raspberrypi => rpi}/controller/ccm_algorithm.h (100%) rename src/ipa/{raspberrypi => rpi}/controller/ccm_status.h (100%) rename src/ipa/{raspberrypi => rpi}/controller/contrast_algorithm.h (100%) rename src/ipa/{raspberrypi => rpi}/controller/contrast_status.h (100%) rename src/ipa/{raspberrypi => rpi}/controller/controller.cpp (100%) rename src/ipa/{raspberrypi => rpi}/controller/controller.h (100%) rename src/ipa/{raspberrypi => rpi}/controller/denoise_algorithm.h (100%) rename src/ipa/{raspberrypi => rpi}/controller/denoise_status.h (100%) rename src/ipa/{raspberrypi => rpi}/controller/device_status.cpp (100%) rename src/ipa/{raspberrypi => rpi}/controller/device_status.h (100%) rename src/ipa/{raspberrypi => rpi}/controller/dpc_status.h (100%) rename src/ipa/{raspberrypi => rpi}/controller/geq_status.h (100%) rename src/ipa/{raspberrypi => rpi}/controller/histogram.cpp (100%) rename src/ipa/{raspberrypi => rpi}/controller/histogram.h (100%) rename src/ipa/{raspberrypi => rpi}/controller/lux_status.h (100%) create mode 100644 src/ipa/rpi/controller/meson.build rename src/ipa/{raspberrypi => rpi}/controller/metadata.h (100%) rename src/ipa/{raspberrypi => rpi}/controller/noise_status.h (100%) rename src/ipa/{raspberrypi => rpi}/controller/pdaf_data.h (100%) rename src/ipa/{raspberrypi => rpi}/controller/pwl.cpp (100%) rename src/ipa/{raspberrypi => rpi}/controller/pwl.h (100%) rename src/ipa/{raspberrypi => rpi}/controller/region_stats.h (100%) rename src/ipa/{raspberrypi => rpi}/controller/rpi/af.cpp (100%) rename src/ipa/{raspberrypi => rpi}/controller/rpi/af.h (100%) rename src/ipa/{raspberrypi => rpi}/controller/rpi/agc.cpp (100%) rename src/ipa/{raspberrypi => rpi}/controller/rpi/agc.h (100%) rename src/ipa/{raspberrypi => rpi}/controller/rpi/alsc.cpp (100%) rename src/ipa/{raspberrypi => rpi}/controller/rpi/alsc.h (100%) rename src/ipa/{raspberrypi => rpi}/controller/rpi/awb.cpp (100%) rename src/ipa/{raspberrypi => rpi}/controller/rpi/awb.h (100%) rename src/ipa/{raspberrypi => rpi}/controller/rpi/black_level.cpp (100%) rename src/ipa/{raspberrypi => rpi}/controller/rpi/black_level.h (100%) rename src/ipa/{raspberrypi => rpi}/controller/rpi/ccm.cpp (100%) rename src/ipa/{raspberrypi => rpi}/controller/rpi/ccm.h (100%) rename src/ipa/{raspberrypi => rpi}/controller/rpi/contrast.cpp (100%) rename src/ipa/{raspberrypi => rpi}/controller/rpi/contrast.h (100%) rename src/ipa/{raspberrypi => rpi}/controller/rpi/dpc.cpp (100%) rename src/ipa/{raspberrypi => rpi}/controller/rpi/dpc.h (100%) rename src/ipa/{raspberrypi => rpi}/controller/rpi/focus.h (100%) rename src/ipa/{raspberrypi => rpi}/controller/rpi/geq.cpp (100%) rename src/ipa/{raspberrypi => rpi}/controller/rpi/geq.h (100%) rename src/ipa/{raspberrypi => rpi}/controller/rpi/lux.cpp (100%) rename src/ipa/{raspberrypi => rpi}/controller/rpi/lux.h (100%) rename src/ipa/{raspberrypi => rpi}/controller/rpi/noise.cpp (100%) rename src/ipa/{raspberrypi => rpi}/controller/rpi/noise.h (100%) rename src/ipa/{raspberrypi => rpi}/controller/rpi/sdn.cpp (100%) rename src/ipa/{raspberrypi => rpi}/controller/rpi/sdn.h (100%) rename src/ipa/{raspberrypi => rpi}/controller/rpi/sharpen.cpp (100%) rename src/ipa/{raspberrypi => rpi}/controller/rpi/sharpen.h (100%) rename src/ipa/{raspberrypi => rpi}/controller/sharpen_algorithm.h (100%) rename src/ipa/{raspberrypi => rpi}/controller/sharpen_status.h (100%) rename src/ipa/{raspberrypi => rpi/controller}/statistics.h (100%) rename src/ipa/{raspberrypi => rpi/vc4}/data/imx219.json (100%) rename src/ipa/{raspberrypi => rpi/vc4}/data/imx219_noir.json (100%) rename src/ipa/{raspberrypi => rpi/vc4}/data/imx290.json (100%) rename src/ipa/{raspberrypi => rpi/vc4}/data/imx296.json (100%) rename src/ipa/{raspberrypi => rpi/vc4}/data/imx296_mono.json (100%) rename src/ipa/{raspberrypi => rpi/vc4}/data/imx378.json (100%) rename src/ipa/{raspberrypi => rpi/vc4}/data/imx477.json (100%) rename src/ipa/{raspberrypi => rpi/vc4}/data/imx477_noir.json (100%) rename src/ipa/{raspberrypi => rpi/vc4}/data/imx477_scientific.json (100%) rename src/ipa/{raspberrypi => rpi/vc4}/data/imx477_v1.json (100%) rename src/ipa/{raspberrypi => rpi/vc4}/data/imx519.json (100%) rename src/ipa/{raspberrypi => rpi/vc4}/data/imx708.json (100%) rename src/ipa/{raspberrypi => rpi/vc4}/data/imx708_noir.json (100%) rename src/ipa/{raspberrypi => rpi/vc4}/data/imx708_wide.json (100%) rename src/ipa/{raspberrypi => rpi/vc4}/data/imx708_wide_noir.json (100%) rename src/ipa/{raspberrypi => rpi/vc4}/data/meson.build (89%) rename src/ipa/{raspberrypi => rpi/vc4}/data/ov5647.json (100%) rename src/ipa/{raspberrypi => rpi/vc4}/data/ov5647_noir.json (100%) rename src/ipa/{raspberrypi => rpi/vc4}/data/ov9281_mono.json (100%) rename src/ipa/{raspberrypi => rpi/vc4}/data/se327m12.json (100%) rename src/ipa/{raspberrypi => rpi/vc4}/data/uncalibrated.json (100%) create mode 100644 src/ipa/rpi/vc4/meson.build rename src/ipa/{raspberrypi => rpi/vc4}/raspberrypi.cpp (98%)