Message ID | 20250113093532.4054142-1-naush@raspberrypi.com |
---|---|
Headers | show |
Series |
|
Related | show |
Hi Naush, Quoting Naushir Patuck (2025-01-13 09:24:42) > Hi, > > A long time coming... this series add support for Raspberry Pi 5 (PiSP) to > upstream libcamera. The IPA and pipeline handler code have been taken mostly > unchanged from the Raspberry Pi downstream libcamera tree: > https://github.com/raspberrypi/libcamera. Support for IMX500 and CNNs are not > available in this series since we have yet to attempt to upstream the kernel > changes. > > IMPORTANT NOTE > -------------- > The Pi 5 pipeline handler in this commit is NOT COMPATIBLE with the Raspberry Pi > kernel drivers just yet! Instead, you must use the mainline kernel upstream > drivers with this pipeline handler. When futher upstreaming development for > embedded data is completed, RPi will backport the upstream kernel drives to our > tree and this pipeline handler will then begin to work with both upstream and > downstream kernel trees. Thanks for posting this! The first issue we face is the dependency in libpisp in the CI loops it seems: https://gitlab.freedesktop.org/camera/libcamera/-/pipelines/1344547 has many failed jobs, which I believe are all going to be more or less instances of: https://gitlab.freedesktop.org/camera/libcamera/-/jobs/69247972 src/libcamera/pipeline/rpi/pisp/meson.build:8:14: ERROR: Dependency 'libpisp' is required but not found. I think we disable subprojects in the CI build maybe ? Any thoughts anyone? Do we need to build in libpisp into the CI as a dependency directly? Do we need to manage keeping libcamera in sync with specific versions/API compatibility of libpisp ? -- Kieran > > Thanks, > Naush > > Naushir Patuck (4): > meson: Add libpisp.wrap > ipa: rpi: Add support for Raspberry Pi 5 > pipeline: rpi: Add new stream flags for PiSP > pipeline: rpi: Add support for Raspberry Pi 5 > > Documentation/guides/pipeline-handler.rst | 2 +- > include/libcamera/ipa/meson.build | 1 + > include/libcamera/meson.build | 1 + > meson.build | 1 + > meson_options.txt | 4 +- > src/ipa/rpi/pisp/data/imx219.json | 1187 +++++++++ > src/ipa/rpi/pisp/data/imx219_noir.json | 1112 ++++++++ > src/ipa/rpi/pisp/data/imx290.json | 341 +++ > src/ipa/rpi/pisp/data/imx296.json | 1194 +++++++++ > src/ipa/rpi/pisp/data/imx296_16mm.json | 1247 +++++++++ > src/ipa/rpi/pisp/data/imx296_6mm.json | 1247 +++++++++ > src/ipa/rpi/pisp/data/imx296_mono.json | 960 +++++++ > src/ipa/rpi/pisp/data/imx378.json | 634 +++++ > src/ipa/rpi/pisp/data/imx415.json | 1159 ++++++++ > src/ipa/rpi/pisp/data/imx462.json | 342 +++ > src/ipa/rpi/pisp/data/imx477.json | 1186 +++++++++ > src/ipa/rpi/pisp/data/imx477_16mm.json | 1240 +++++++++ > src/ipa/rpi/pisp/data/imx477_6mm.json | 1240 +++++++++ > src/ipa/rpi/pisp/data/imx477_noir.json | 1148 ++++++++ > src/ipa/rpi/pisp/data/imx477_scientific.json | 546 ++++ > src/ipa/rpi/pisp/data/imx519.json | 634 +++++ > src/ipa/rpi/pisp/data/imx708.json | 1270 +++++++++ > src/ipa/rpi/pisp/data/imx708_noir.json | 1233 +++++++++ > src/ipa/rpi/pisp/data/imx708_wide.json | 1293 +++++++++ > src/ipa/rpi/pisp/data/imx708_wide_noir.json | 1148 ++++++++ > src/ipa/rpi/pisp/data/meson.build | 29 + > src/ipa/rpi/pisp/data/ov5647.json | 1186 +++++++++ > src/ipa/rpi/pisp/data/ov5647_noir.json | 1121 ++++++++ > src/ipa/rpi/pisp/data/ov64a40.json | 1133 ++++++++ > src/ipa/rpi/pisp/data/ov9281_mono.json | 215 ++ > src/ipa/rpi/pisp/data/se327m12.json | 639 +++++ > src/ipa/rpi/pisp/data/uncalibrated.json | 135 + > src/ipa/rpi/pisp/meson.build | 49 + > src/ipa/rpi/pisp/pisp.cpp | 1068 ++++++++ > src/libcamera/control_ids_rpi.yaml | 13 + > .../pipeline/rpi/common/rpi_stream.h | 10 + > .../pipeline/rpi/pisp/data/example.yaml | 45 + > .../pipeline/rpi/pisp/data/meson.build | 8 + > src/libcamera/pipeline/rpi/pisp/meson.build | 12 + > src/libcamera/pipeline/rpi/pisp/pisp.cpp | 2372 +++++++++++++++++ > subprojects/.gitignore | 1 + > subprojects/libpisp.wrap | 6 + > 42 files changed, 28410 insertions(+), 2 deletions(-) > create mode 100644 src/ipa/rpi/pisp/data/imx219.json > create mode 100644 src/ipa/rpi/pisp/data/imx219_noir.json > create mode 100644 src/ipa/rpi/pisp/data/imx290.json > create mode 100644 src/ipa/rpi/pisp/data/imx296.json > create mode 100644 src/ipa/rpi/pisp/data/imx296_16mm.json > create mode 100644 src/ipa/rpi/pisp/data/imx296_6mm.json > create mode 100644 src/ipa/rpi/pisp/data/imx296_mono.json > create mode 100644 src/ipa/rpi/pisp/data/imx378.json > create mode 100755 src/ipa/rpi/pisp/data/imx415.json > create mode 100644 src/ipa/rpi/pisp/data/imx462.json > create mode 100644 src/ipa/rpi/pisp/data/imx477.json > create mode 100644 src/ipa/rpi/pisp/data/imx477_16mm.json > create mode 100644 src/ipa/rpi/pisp/data/imx477_6mm.json > create mode 100644 src/ipa/rpi/pisp/data/imx477_noir.json > create mode 100644 src/ipa/rpi/pisp/data/imx477_scientific.json > create mode 100644 src/ipa/rpi/pisp/data/imx519.json > create mode 100644 src/ipa/rpi/pisp/data/imx708.json > create mode 100644 src/ipa/rpi/pisp/data/imx708_noir.json > create mode 100644 src/ipa/rpi/pisp/data/imx708_wide.json > create mode 100644 src/ipa/rpi/pisp/data/imx708_wide_noir.json > create mode 100644 src/ipa/rpi/pisp/data/meson.build > create mode 100644 src/ipa/rpi/pisp/data/ov5647.json > create mode 100644 src/ipa/rpi/pisp/data/ov5647_noir.json > create mode 100755 src/ipa/rpi/pisp/data/ov64a40.json > create mode 100644 src/ipa/rpi/pisp/data/ov9281_mono.json > create mode 100644 src/ipa/rpi/pisp/data/se327m12.json > create mode 100644 src/ipa/rpi/pisp/data/uncalibrated.json > create mode 100644 src/ipa/rpi/pisp/meson.build > create mode 100644 src/ipa/rpi/pisp/pisp.cpp > create mode 100644 src/libcamera/pipeline/rpi/pisp/data/example.yaml > create mode 100644 src/libcamera/pipeline/rpi/pisp/data/meson.build > create mode 100644 src/libcamera/pipeline/rpi/pisp/meson.build > create mode 100644 src/libcamera/pipeline/rpi/pisp/pisp.cpp > create mode 100644 subprojects/libpisp.wrap > > -- > 2.43.0 >
Hi 2025. január 13., hétfő 13:12 keltezéssel, Kieran Bingham <kieran.bingham@ideasonboard.com> írta: > Hi Naush, > > Quoting Naushir Patuck (2025-01-13 09:24:42) > > Hi, > > > > A long time coming... this series add support for Raspberry Pi 5 (PiSP) to > > upstream libcamera. The IPA and pipeline handler code have been taken mostly > > unchanged from the Raspberry Pi downstream libcamera tree: > > https://github.com/raspberrypi/libcamera. Support for IMX500 and CNNs are not > > available in this series since we have yet to attempt to upstream the kernel > > changes. > > > > IMPORTANT NOTE > > -------------- > > The Pi 5 pipeline handler in this commit is NOT COMPATIBLE with the Raspberry Pi > > kernel drivers just yet! Instead, you must use the mainline kernel upstream > > drivers with this pipeline handler. When futher upstreaming development for > > embedded data is completed, RPi will backport the upstream kernel drives to our > > tree and this pipeline handler will then begin to work with both upstream and > > downstream kernel trees. > > Thanks for posting this! > > The first issue we face is the dependency in libpisp in the CI loops it > seems: > > https://gitlab.freedesktop.org/camera/libcamera/-/pipelines/1344547 > > has many failed jobs, which I believe are all going to be more or less > instances of: > > https://gitlab.freedesktop.org/camera/libcamera/-/jobs/69247972 > > src/libcamera/pipeline/rpi/pisp/meson.build:8:14: ERROR: Dependency 'libpisp' is required but not found. > > I think we disable subprojects in the CI build maybe ? > > Any thoughts anyone? The `wrap_mode=nofallback` option causes the error. But `libpisp` should also probably call meson.override_dependency('libpisp', libpisp_dep) in its `src/meson.build`. And then there is no need for the explicit `fallback: ['libpisp', 'libpisp_dep']` when calling `dependency()`. Regards, Barnabás Pőcze > > Do we need to build in libpisp into the CI as a dependency directly? Do > we need to manage keeping libcamera in sync with specific versions/API > compatibility of libpisp ? > > -- > Kieran > > > > > Thanks, > > Naush > > > > Naushir Patuck (4): > > meson: Add libpisp.wrap > > ipa: rpi: Add support for Raspberry Pi 5 > > pipeline: rpi: Add new stream flags for PiSP > > pipeline: rpi: Add support for Raspberry Pi 5 > > > > Documentation/guides/pipeline-handler.rst | 2 +- > > include/libcamera/ipa/meson.build | 1 + > > include/libcamera/meson.build | 1 + > > meson.build | 1 + > > meson_options.txt | 4 +- > > src/ipa/rpi/pisp/data/imx219.json | 1187 +++++++++ > > src/ipa/rpi/pisp/data/imx219_noir.json | 1112 ++++++++ > > src/ipa/rpi/pisp/data/imx290.json | 341 +++ > > src/ipa/rpi/pisp/data/imx296.json | 1194 +++++++++ > > src/ipa/rpi/pisp/data/imx296_16mm.json | 1247 +++++++++ > > src/ipa/rpi/pisp/data/imx296_6mm.json | 1247 +++++++++ > > src/ipa/rpi/pisp/data/imx296_mono.json | 960 +++++++ > > src/ipa/rpi/pisp/data/imx378.json | 634 +++++ > > src/ipa/rpi/pisp/data/imx415.json | 1159 ++++++++ > > src/ipa/rpi/pisp/data/imx462.json | 342 +++ > > src/ipa/rpi/pisp/data/imx477.json | 1186 +++++++++ > > src/ipa/rpi/pisp/data/imx477_16mm.json | 1240 +++++++++ > > src/ipa/rpi/pisp/data/imx477_6mm.json | 1240 +++++++++ > > src/ipa/rpi/pisp/data/imx477_noir.json | 1148 ++++++++ > > src/ipa/rpi/pisp/data/imx477_scientific.json | 546 ++++ > > src/ipa/rpi/pisp/data/imx519.json | 634 +++++ > > src/ipa/rpi/pisp/data/imx708.json | 1270 +++++++++ > > src/ipa/rpi/pisp/data/imx708_noir.json | 1233 +++++++++ > > src/ipa/rpi/pisp/data/imx708_wide.json | 1293 +++++++++ > > src/ipa/rpi/pisp/data/imx708_wide_noir.json | 1148 ++++++++ > > src/ipa/rpi/pisp/data/meson.build | 29 + > > src/ipa/rpi/pisp/data/ov5647.json | 1186 +++++++++ > > src/ipa/rpi/pisp/data/ov5647_noir.json | 1121 ++++++++ > > src/ipa/rpi/pisp/data/ov64a40.json | 1133 ++++++++ > > src/ipa/rpi/pisp/data/ov9281_mono.json | 215 ++ > > src/ipa/rpi/pisp/data/se327m12.json | 639 +++++ > > src/ipa/rpi/pisp/data/uncalibrated.json | 135 + > > src/ipa/rpi/pisp/meson.build | 49 + > > src/ipa/rpi/pisp/pisp.cpp | 1068 ++++++++ > > src/libcamera/control_ids_rpi.yaml | 13 + > > .../pipeline/rpi/common/rpi_stream.h | 10 + > > .../pipeline/rpi/pisp/data/example.yaml | 45 + > > .../pipeline/rpi/pisp/data/meson.build | 8 + > > src/libcamera/pipeline/rpi/pisp/meson.build | 12 + > > src/libcamera/pipeline/rpi/pisp/pisp.cpp | 2372 +++++++++++++++++ > > subprojects/.gitignore | 1 + > > subprojects/libpisp.wrap | 6 + > > 42 files changed, 28410 insertions(+), 2 deletions(-) > > create mode 100644 src/ipa/rpi/pisp/data/imx219.json > > create mode 100644 src/ipa/rpi/pisp/data/imx219_noir.json > > create mode 100644 src/ipa/rpi/pisp/data/imx290.json > > create mode 100644 src/ipa/rpi/pisp/data/imx296.json > > create mode 100644 src/ipa/rpi/pisp/data/imx296_16mm.json > > create mode 100644 src/ipa/rpi/pisp/data/imx296_6mm.json > > create mode 100644 src/ipa/rpi/pisp/data/imx296_mono.json > > create mode 100644 src/ipa/rpi/pisp/data/imx378.json > > create mode 100755 src/ipa/rpi/pisp/data/imx415.json > > create mode 100644 src/ipa/rpi/pisp/data/imx462.json > > create mode 100644 src/ipa/rpi/pisp/data/imx477.json > > create mode 100644 src/ipa/rpi/pisp/data/imx477_16mm.json > > create mode 100644 src/ipa/rpi/pisp/data/imx477_6mm.json > > create mode 100644 src/ipa/rpi/pisp/data/imx477_noir.json > > create mode 100644 src/ipa/rpi/pisp/data/imx477_scientific.json > > create mode 100644 src/ipa/rpi/pisp/data/imx519.json > > create mode 100644 src/ipa/rpi/pisp/data/imx708.json > > create mode 100644 src/ipa/rpi/pisp/data/imx708_noir.json > > create mode 100644 src/ipa/rpi/pisp/data/imx708_wide.json > > create mode 100644 src/ipa/rpi/pisp/data/imx708_wide_noir.json > > create mode 100644 src/ipa/rpi/pisp/data/meson.build > > create mode 100644 src/ipa/rpi/pisp/data/ov5647.json > > create mode 100644 src/ipa/rpi/pisp/data/ov5647_noir.json > > create mode 100755 src/ipa/rpi/pisp/data/ov64a40.json > > create mode 100644 src/ipa/rpi/pisp/data/ov9281_mono.json > > create mode 100644 src/ipa/rpi/pisp/data/se327m12.json > > create mode 100644 src/ipa/rpi/pisp/data/uncalibrated.json > > create mode 100644 src/ipa/rpi/pisp/meson.build > > create mode 100644 src/ipa/rpi/pisp/pisp.cpp > > create mode 100644 src/libcamera/pipeline/rpi/pisp/data/example.yaml > > create mode 100644 src/libcamera/pipeline/rpi/pisp/data/meson.build > > create mode 100644 src/libcamera/pipeline/rpi/pisp/meson.build > > create mode 100644 src/libcamera/pipeline/rpi/pisp/pisp.cpp > > create mode 100644 subprojects/libpisp.wrap > > > > -- > > 2.43.0 > > >
Hi, On Mon, 13 Jan 2025 at 12:30, Barnabás Pőcze <pobrn@protonmail.com> wrote: > > Hi > > > 2025. január 13., hétfő 13:12 keltezéssel, Kieran Bingham <kieran.bingham@ideasonboard.com> írta: > > > Hi Naush, > > > > Quoting Naushir Patuck (2025-01-13 09:24:42) > > > Hi, > > > > > > A long time coming... this series add support for Raspberry Pi 5 (PiSP) to > > > upstream libcamera. The IPA and pipeline handler code have been taken mostly > > > unchanged from the Raspberry Pi downstream libcamera tree: > > > https://github.com/raspberrypi/libcamera. Support for IMX500 and CNNs are not > > > available in this series since we have yet to attempt to upstream the kernel > > > changes. > > > > > > IMPORTANT NOTE > > > -------------- > > > The Pi 5 pipeline handler in this commit is NOT COMPATIBLE with the Raspberry Pi > > > kernel drivers just yet! Instead, you must use the mainline kernel upstream > > > drivers with this pipeline handler. When futher upstreaming development for > > > embedded data is completed, RPi will backport the upstream kernel drives to our > > > tree and this pipeline handler will then begin to work with both upstream and > > > downstream kernel trees. > > > > Thanks for posting this! > > > > The first issue we face is the dependency in libpisp in the CI loops it > > seems: > > > > https://gitlab.freedesktop.org/camera/libcamera/-/pipelines/1344547 > > > > has many failed jobs, which I believe are all going to be more or less > > instances of: > > > > https://gitlab.freedesktop.org/camera/libcamera/-/jobs/69247972 > > > > src/libcamera/pipeline/rpi/pisp/meson.build:8:14: ERROR: Dependency 'libpisp' is required but not found. > > > > I think we disable subprojects in the CI build maybe ? > > > > Any thoughts anyone? > > The `wrap_mode=nofallback` option causes the error. But `libpisp` should > also probably call > > meson.override_dependency('libpisp', libpisp_dep) > > in its `src/meson.build`. And then there is no need for the explicit > `fallback: ['libpisp', 'libpisp_dep']` when calling `dependency()`. I presume this is just a syntactic change and will not fix the CI issue? I can remove the libpisp wrap file and have a hard dependency on libpisp for the pipeline handler/ipa, but that will mean it won't be tested under CI... Naush > > > Regards, > Barnabás Pőcze > > > > > > Do we need to build in libpisp into the CI as a dependency directly? Do > > we need to manage keeping libcamera in sync with specific versions/API > > compatibility of libpisp ? > > > > -- > > Kieran > > > > > > > > Thanks, > > > Naush > > > > > > Naushir Patuck (4): > > > meson: Add libpisp.wrap > > > ipa: rpi: Add support for Raspberry Pi 5 > > > pipeline: rpi: Add new stream flags for PiSP > > > pipeline: rpi: Add support for Raspberry Pi 5 > > > > > > Documentation/guides/pipeline-handler.rst | 2 +- > > > include/libcamera/ipa/meson.build | 1 + > > > include/libcamera/meson.build | 1 + > > > meson.build | 1 + > > > meson_options.txt | 4 +- > > > src/ipa/rpi/pisp/data/imx219.json | 1187 +++++++++ > > > src/ipa/rpi/pisp/data/imx219_noir.json | 1112 ++++++++ > > > src/ipa/rpi/pisp/data/imx290.json | 341 +++ > > > src/ipa/rpi/pisp/data/imx296.json | 1194 +++++++++ > > > src/ipa/rpi/pisp/data/imx296_16mm.json | 1247 +++++++++ > > > src/ipa/rpi/pisp/data/imx296_6mm.json | 1247 +++++++++ > > > src/ipa/rpi/pisp/data/imx296_mono.json | 960 +++++++ > > > src/ipa/rpi/pisp/data/imx378.json | 634 +++++ > > > src/ipa/rpi/pisp/data/imx415.json | 1159 ++++++++ > > > src/ipa/rpi/pisp/data/imx462.json | 342 +++ > > > src/ipa/rpi/pisp/data/imx477.json | 1186 +++++++++ > > > src/ipa/rpi/pisp/data/imx477_16mm.json | 1240 +++++++++ > > > src/ipa/rpi/pisp/data/imx477_6mm.json | 1240 +++++++++ > > > src/ipa/rpi/pisp/data/imx477_noir.json | 1148 ++++++++ > > > src/ipa/rpi/pisp/data/imx477_scientific.json | 546 ++++ > > > src/ipa/rpi/pisp/data/imx519.json | 634 +++++ > > > src/ipa/rpi/pisp/data/imx708.json | 1270 +++++++++ > > > src/ipa/rpi/pisp/data/imx708_noir.json | 1233 +++++++++ > > > src/ipa/rpi/pisp/data/imx708_wide.json | 1293 +++++++++ > > > src/ipa/rpi/pisp/data/imx708_wide_noir.json | 1148 ++++++++ > > > src/ipa/rpi/pisp/data/meson.build | 29 + > > > src/ipa/rpi/pisp/data/ov5647.json | 1186 +++++++++ > > > src/ipa/rpi/pisp/data/ov5647_noir.json | 1121 ++++++++ > > > src/ipa/rpi/pisp/data/ov64a40.json | 1133 ++++++++ > > > src/ipa/rpi/pisp/data/ov9281_mono.json | 215 ++ > > > src/ipa/rpi/pisp/data/se327m12.json | 639 +++++ > > > src/ipa/rpi/pisp/data/uncalibrated.json | 135 + > > > src/ipa/rpi/pisp/meson.build | 49 + > > > src/ipa/rpi/pisp/pisp.cpp | 1068 ++++++++ > > > src/libcamera/control_ids_rpi.yaml | 13 + > > > .../pipeline/rpi/common/rpi_stream.h | 10 + > > > .../pipeline/rpi/pisp/data/example.yaml | 45 + > > > .../pipeline/rpi/pisp/data/meson.build | 8 + > > > src/libcamera/pipeline/rpi/pisp/meson.build | 12 + > > > src/libcamera/pipeline/rpi/pisp/pisp.cpp | 2372 +++++++++++++++++ > > > subprojects/.gitignore | 1 + > > > subprojects/libpisp.wrap | 6 + > > > 42 files changed, 28410 insertions(+), 2 deletions(-) > > > create mode 100644 src/ipa/rpi/pisp/data/imx219.json > > > create mode 100644 src/ipa/rpi/pisp/data/imx219_noir.json > > > create mode 100644 src/ipa/rpi/pisp/data/imx290.json > > > create mode 100644 src/ipa/rpi/pisp/data/imx296.json > > > create mode 100644 src/ipa/rpi/pisp/data/imx296_16mm.json > > > create mode 100644 src/ipa/rpi/pisp/data/imx296_6mm.json > > > create mode 100644 src/ipa/rpi/pisp/data/imx296_mono.json > > > create mode 100644 src/ipa/rpi/pisp/data/imx378.json > > > create mode 100755 src/ipa/rpi/pisp/data/imx415.json > > > create mode 100644 src/ipa/rpi/pisp/data/imx462.json > > > create mode 100644 src/ipa/rpi/pisp/data/imx477.json > > > create mode 100644 src/ipa/rpi/pisp/data/imx477_16mm.json > > > create mode 100644 src/ipa/rpi/pisp/data/imx477_6mm.json > > > create mode 100644 src/ipa/rpi/pisp/data/imx477_noir.json > > > create mode 100644 src/ipa/rpi/pisp/data/imx477_scientific.json > > > create mode 100644 src/ipa/rpi/pisp/data/imx519.json > > > create mode 100644 src/ipa/rpi/pisp/data/imx708.json > > > create mode 100644 src/ipa/rpi/pisp/data/imx708_noir.json > > > create mode 100644 src/ipa/rpi/pisp/data/imx708_wide.json > > > create mode 100644 src/ipa/rpi/pisp/data/imx708_wide_noir.json > > > create mode 100644 src/ipa/rpi/pisp/data/meson.build > > > create mode 100644 src/ipa/rpi/pisp/data/ov5647.json > > > create mode 100644 src/ipa/rpi/pisp/data/ov5647_noir.json > > > create mode 100755 src/ipa/rpi/pisp/data/ov64a40.json > > > create mode 100644 src/ipa/rpi/pisp/data/ov9281_mono.json > > > create mode 100644 src/ipa/rpi/pisp/data/se327m12.json > > > create mode 100644 src/ipa/rpi/pisp/data/uncalibrated.json > > > create mode 100644 src/ipa/rpi/pisp/meson.build > > > create mode 100644 src/ipa/rpi/pisp/pisp.cpp > > > create mode 100644 src/libcamera/pipeline/rpi/pisp/data/example.yaml > > > create mode 100644 src/libcamera/pipeline/rpi/pisp/data/meson.build > > > create mode 100644 src/libcamera/pipeline/rpi/pisp/meson.build > > > create mode 100644 src/libcamera/pipeline/rpi/pisp/pisp.cpp > > > create mode 100644 subprojects/libpisp.wrap > > > > > > -- > > > 2.43.0 > > > > >
2025. január 14., kedd 10:54 keltezéssel, Naushir Patuck <naush@raspberrypi.com> írta: > Hi, > > On Mon, 13 Jan 2025 at 12:30, Barnabás Pőcze <pobrn@protonmail.com> wrote: > > > > Hi > > > > > > 2025. január 13., hétfő 13:12 keltezéssel, Kieran Bingham <kieran.bingham@ideasonboard.com> írta: > > > > > Hi Naush, > > > > > > Quoting Naushir Patuck (2025-01-13 09:24:42) > > > > Hi, > > > > > > > > A long time coming... this series add support for Raspberry Pi 5 (PiSP) to > > > > upstream libcamera. The IPA and pipeline handler code have been taken mostly > > > > unchanged from the Raspberry Pi downstream libcamera tree: > > > > https://github.com/raspberrypi/libcamera. Support for IMX500 and CNNs are not > > > > available in this series since we have yet to attempt to upstream the kernel > > > > changes. > > > > > > > > IMPORTANT NOTE > > > > -------------- > > > > The Pi 5 pipeline handler in this commit is NOT COMPATIBLE with the Raspberry Pi > > > > kernel drivers just yet! Instead, you must use the mainline kernel upstream > > > > drivers with this pipeline handler. When futher upstreaming development for > > > > embedded data is completed, RPi will backport the upstream kernel drives to our > > > > tree and this pipeline handler will then begin to work with both upstream and > > > > downstream kernel trees. > > > > > > Thanks for posting this! > > > > > > The first issue we face is the dependency in libpisp in the CI loops it > > > seems: > > > > > > https://gitlab.freedesktop.org/camera/libcamera/-/pipelines/1344547 > > > > > > has many failed jobs, which I believe are all going to be more or less > > > instances of: > > > > > > https://gitlab.freedesktop.org/camera/libcamera/-/jobs/69247972 > > > > > > src/libcamera/pipeline/rpi/pisp/meson.build:8:14: ERROR: Dependency 'libpisp' is required but not found. > > > > > > I think we disable subprojects in the CI build maybe ? > > > > > > Any thoughts anyone? > > > > The `wrap_mode=nofallback` option causes the error. But `libpisp` should > > also probably call > > > > meson.override_dependency('libpisp', libpisp_dep) > > > > in its `src/meson.build`. And then there is no need for the explicit > > `fallback: ['libpisp', 'libpisp_dep']` when calling `dependency()`. > > I presume this is just a syntactic change and will not fix the CI > issue? I can remove the libpisp wrap file and have a hard dependency > on libpisp for the pipeline handler/ipa, but that will mean it won't > be tested under CI... Yes, this will not solve the issue, but useful nonetheless. It would appear that `-D force_fallback_for=libpisp` is enough to make it work, but there are other jobs that want to use that option, and multiple occurrences overwrite each other. I am not sure what the best approach is. `--wrap-mode=nofallback` could be removed altogether, or replaced with `--wrap-mode=nodownload` + some magic to bring in the necessary dependencies, or something else. Regards, Barnabás Pőcze > > Naush > > > > > > > Regards, > > Barnabás Pőcze > > > > > > > > > > Do we need to build in libpisp into the CI as a dependency directly? Do > > > we need to manage keeping libcamera in sync with specific versions/API > > > compatibility of libpisp ? > > > > > > -- > > > Kieran > > > > > > > > > > > Thanks, > > > > Naush > > > > > > > > Naushir Patuck (4): > > > > meson: Add libpisp.wrap > > > > ipa: rpi: Add support for Raspberry Pi 5 > > > > pipeline: rpi: Add new stream flags for PiSP > > > > pipeline: rpi: Add support for Raspberry Pi 5 > > > > > > > > Documentation/guides/pipeline-handler.rst | 2 +- > > > > include/libcamera/ipa/meson.build | 1 + > > > > include/libcamera/meson.build | 1 + > > > > meson.build | 1 + > > > > meson_options.txt | 4 +- > > > > src/ipa/rpi/pisp/data/imx219.json | 1187 +++++++++ > > > > src/ipa/rpi/pisp/data/imx219_noir.json | 1112 ++++++++ > > > > src/ipa/rpi/pisp/data/imx290.json | 341 +++ > > > > src/ipa/rpi/pisp/data/imx296.json | 1194 +++++++++ > > > > src/ipa/rpi/pisp/data/imx296_16mm.json | 1247 +++++++++ > > > > src/ipa/rpi/pisp/data/imx296_6mm.json | 1247 +++++++++ > > > > src/ipa/rpi/pisp/data/imx296_mono.json | 960 +++++++ > > > > src/ipa/rpi/pisp/data/imx378.json | 634 +++++ > > > > src/ipa/rpi/pisp/data/imx415.json | 1159 ++++++++ > > > > src/ipa/rpi/pisp/data/imx462.json | 342 +++ > > > > src/ipa/rpi/pisp/data/imx477.json | 1186 +++++++++ > > > > src/ipa/rpi/pisp/data/imx477_16mm.json | 1240 +++++++++ > > > > src/ipa/rpi/pisp/data/imx477_6mm.json | 1240 +++++++++ > > > > src/ipa/rpi/pisp/data/imx477_noir.json | 1148 ++++++++ > > > > src/ipa/rpi/pisp/data/imx477_scientific.json | 546 ++++ > > > > src/ipa/rpi/pisp/data/imx519.json | 634 +++++ > > > > src/ipa/rpi/pisp/data/imx708.json | 1270 +++++++++ > > > > src/ipa/rpi/pisp/data/imx708_noir.json | 1233 +++++++++ > > > > src/ipa/rpi/pisp/data/imx708_wide.json | 1293 +++++++++ > > > > src/ipa/rpi/pisp/data/imx708_wide_noir.json | 1148 ++++++++ > > > > src/ipa/rpi/pisp/data/meson.build | 29 + > > > > src/ipa/rpi/pisp/data/ov5647.json | 1186 +++++++++ > > > > src/ipa/rpi/pisp/data/ov5647_noir.json | 1121 ++++++++ > > > > src/ipa/rpi/pisp/data/ov64a40.json | 1133 ++++++++ > > > > src/ipa/rpi/pisp/data/ov9281_mono.json | 215 ++ > > > > src/ipa/rpi/pisp/data/se327m12.json | 639 +++++ > > > > src/ipa/rpi/pisp/data/uncalibrated.json | 135 + > > > > src/ipa/rpi/pisp/meson.build | 49 + > > > > src/ipa/rpi/pisp/pisp.cpp | 1068 ++++++++ > > > > src/libcamera/control_ids_rpi.yaml | 13 + > > > > .../pipeline/rpi/common/rpi_stream.h | 10 + > > > > .../pipeline/rpi/pisp/data/example.yaml | 45 + > > > > .../pipeline/rpi/pisp/data/meson.build | 8 + > > > > src/libcamera/pipeline/rpi/pisp/meson.build | 12 + > > > > src/libcamera/pipeline/rpi/pisp/pisp.cpp | 2372 +++++++++++++++++ > > > > subprojects/.gitignore | 1 + > > > > subprojects/libpisp.wrap | 6 + > > > > 42 files changed, 28410 insertions(+), 2 deletions(-) > > > > create mode 100644 src/ipa/rpi/pisp/data/imx219.json > > > > create mode 100644 src/ipa/rpi/pisp/data/imx219_noir.json > > > > create mode 100644 src/ipa/rpi/pisp/data/imx290.json > > > > create mode 100644 src/ipa/rpi/pisp/data/imx296.json > > > > create mode 100644 src/ipa/rpi/pisp/data/imx296_16mm.json > > > > create mode 100644 src/ipa/rpi/pisp/data/imx296_6mm.json > > > > create mode 100644 src/ipa/rpi/pisp/data/imx296_mono.json > > > > create mode 100644 src/ipa/rpi/pisp/data/imx378.json > > > > create mode 100755 src/ipa/rpi/pisp/data/imx415.json > > > > create mode 100644 src/ipa/rpi/pisp/data/imx462.json > > > > create mode 100644 src/ipa/rpi/pisp/data/imx477.json > > > > create mode 100644 src/ipa/rpi/pisp/data/imx477_16mm.json > > > > create mode 100644 src/ipa/rpi/pisp/data/imx477_6mm.json > > > > create mode 100644 src/ipa/rpi/pisp/data/imx477_noir.json > > > > create mode 100644 src/ipa/rpi/pisp/data/imx477_scientific.json > > > > create mode 100644 src/ipa/rpi/pisp/data/imx519.json > > > > create mode 100644 src/ipa/rpi/pisp/data/imx708.json > > > > create mode 100644 src/ipa/rpi/pisp/data/imx708_noir.json > > > > create mode 100644 src/ipa/rpi/pisp/data/imx708_wide.json > > > > create mode 100644 src/ipa/rpi/pisp/data/imx708_wide_noir.json > > > > create mode 100644 src/ipa/rpi/pisp/data/meson.build > > > > create mode 100644 src/ipa/rpi/pisp/data/ov5647.json > > > > create mode 100644 src/ipa/rpi/pisp/data/ov5647_noir.json > > > > create mode 100755 src/ipa/rpi/pisp/data/ov64a40.json > > > > create mode 100644 src/ipa/rpi/pisp/data/ov9281_mono.json > > > > create mode 100644 src/ipa/rpi/pisp/data/se327m12.json > > > > create mode 100644 src/ipa/rpi/pisp/data/uncalibrated.json > > > > create mode 100644 src/ipa/rpi/pisp/meson.build > > > > create mode 100644 src/ipa/rpi/pisp/pisp.cpp > > > > create mode 100644 src/libcamera/pipeline/rpi/pisp/data/example.yaml > > > > create mode 100644 src/libcamera/pipeline/rpi/pisp/data/meson.build > > > > create mode 100644 src/libcamera/pipeline/rpi/pisp/meson.build > > > > create mode 100644 src/libcamera/pipeline/rpi/pisp/pisp.cpp > > > > create mode 100644 subprojects/libpisp.wrap > > > > > > > > -- > > > > 2.43.0 > > > > > > > >
On Tue, Jan 14, 2025 at 04:29:14PM +0000, Barnabás Pőcze wrote: > 2025. január 14., kedd 10:54 keltezéssel, Naushir Patuck írta: > > On Mon, 13 Jan 2025 at 12:30, Barnabás Pőcze wrote: > > > 2025. január 13., hétfő 13:12 keltezéssel, Kieran Bingham írta: > > > > Quoting Naushir Patuck (2025-01-13 09:24:42) > > > > > Hi, > > > > > > > > > > A long time coming... this series add support for Raspberry Pi 5 (PiSP) to > > > > > upstream libcamera. The IPA and pipeline handler code have been taken mostly > > > > > unchanged from the Raspberry Pi downstream libcamera tree: > > > > > https://github.com/raspberrypi/libcamera. Support for IMX500 and CNNs are not > > > > > available in this series since we have yet to attempt to upstream the kernel > > > > > changes. > > > > > > > > > > IMPORTANT NOTE > > > > > -------------- > > > > > The Pi 5 pipeline handler in this commit is NOT COMPATIBLE with the Raspberry Pi > > > > > kernel drivers just yet! Instead, you must use the mainline kernel upstream > > > > > drivers with this pipeline handler. When futher upstreaming development for > > > > > embedded data is completed, RPi will backport the upstream kernel drives to our > > > > > tree and this pipeline handler will then begin to work with both upstream and > > > > > downstream kernel trees. > > > > > > > > Thanks for posting this! > > > > > > > > The first issue we face is the dependency in libpisp in the CI loops it > > > > seems: > > > > > > > > https://gitlab.freedesktop.org/camera/libcamera/-/pipelines/1344547 > > > > > > > > has many failed jobs, which I believe are all going to be more or less > > > > instances of: > > > > > > > > https://gitlab.freedesktop.org/camera/libcamera/-/jobs/69247972 > > > > > > > > src/libcamera/pipeline/rpi/pisp/meson.build:8:14: ERROR: Dependency 'libpisp' is required but not found. > > > > > > > > I think we disable subprojects in the CI build maybe ? > > > > > > > > Any thoughts anyone? > > > > > > The `wrap_mode=nofallback` option causes the error. But `libpisp` should > > > also probably call > > > > > > meson.override_dependency('libpisp', libpisp_dep) > > > > > > in its `src/meson.build`. And then there is no need for the explicit > > > `fallback: ['libpisp', 'libpisp_dep']` when calling `dependency()`. > > > > I presume this is just a syntactic change and will not fix the CI > > issue? I can remove the libpisp wrap file and have a hard dependency > > on libpisp for the pipeline handler/ipa, but that will mean it won't > > be tested under CI... > > Yes, this will not solve the issue, but useful nonetheless. It would appear that > `-D force_fallback_for=libpisp` is enough to make it work, but there are other > jobs that want to use that option, and multiple occurrences overwrite each other. > I am not sure what the best approach is. `--wrap-mode=nofallback` could be removed > altogether, or replaced with `--wrap-mode=nodownload` + some magic to bring in the > necessary dependencies, or something else. If we have to compile the dependencies from source, I would rather do this at container build time to avoid CI failures unrelated to libcamera itself. > > > > Do we need to build in libpisp into the CI as a dependency directly? Do > > > > we need to manage keeping libcamera in sync with specific versions/API > > > > compatibility of libpisp ? > > > > > > > > > Naushir Patuck (4): > > > > > meson: Add libpisp.wrap > > > > > ipa: rpi: Add support for Raspberry Pi 5 > > > > > pipeline: rpi: Add new stream flags for PiSP > > > > > pipeline: rpi: Add support for Raspberry Pi 5 > > > > > > > > > > Documentation/guides/pipeline-handler.rst | 2 +- > > > > > include/libcamera/ipa/meson.build | 1 + > > > > > include/libcamera/meson.build | 1 + > > > > > meson.build | 1 + > > > > > meson_options.txt | 4 +- > > > > > src/ipa/rpi/pisp/data/imx219.json | 1187 +++++++++ > > > > > src/ipa/rpi/pisp/data/imx219_noir.json | 1112 ++++++++ > > > > > src/ipa/rpi/pisp/data/imx290.json | 341 +++ > > > > > src/ipa/rpi/pisp/data/imx296.json | 1194 +++++++++ > > > > > src/ipa/rpi/pisp/data/imx296_16mm.json | 1247 +++++++++ > > > > > src/ipa/rpi/pisp/data/imx296_6mm.json | 1247 +++++++++ > > > > > src/ipa/rpi/pisp/data/imx296_mono.json | 960 +++++++ > > > > > src/ipa/rpi/pisp/data/imx378.json | 634 +++++ > > > > > src/ipa/rpi/pisp/data/imx415.json | 1159 ++++++++ > > > > > src/ipa/rpi/pisp/data/imx462.json | 342 +++ > > > > > src/ipa/rpi/pisp/data/imx477.json | 1186 +++++++++ > > > > > src/ipa/rpi/pisp/data/imx477_16mm.json | 1240 +++++++++ > > > > > src/ipa/rpi/pisp/data/imx477_6mm.json | 1240 +++++++++ > > > > > src/ipa/rpi/pisp/data/imx477_noir.json | 1148 ++++++++ > > > > > src/ipa/rpi/pisp/data/imx477_scientific.json | 546 ++++ > > > > > src/ipa/rpi/pisp/data/imx519.json | 634 +++++ > > > > > src/ipa/rpi/pisp/data/imx708.json | 1270 +++++++++ > > > > > src/ipa/rpi/pisp/data/imx708_noir.json | 1233 +++++++++ > > > > > src/ipa/rpi/pisp/data/imx708_wide.json | 1293 +++++++++ > > > > > src/ipa/rpi/pisp/data/imx708_wide_noir.json | 1148 ++++++++ > > > > > src/ipa/rpi/pisp/data/meson.build | 29 + > > > > > src/ipa/rpi/pisp/data/ov5647.json | 1186 +++++++++ > > > > > src/ipa/rpi/pisp/data/ov5647_noir.json | 1121 ++++++++ > > > > > src/ipa/rpi/pisp/data/ov64a40.json | 1133 ++++++++ > > > > > src/ipa/rpi/pisp/data/ov9281_mono.json | 215 ++ > > > > > src/ipa/rpi/pisp/data/se327m12.json | 639 +++++ > > > > > src/ipa/rpi/pisp/data/uncalibrated.json | 135 + > > > > > src/ipa/rpi/pisp/meson.build | 49 + > > > > > src/ipa/rpi/pisp/pisp.cpp | 1068 ++++++++ > > > > > src/libcamera/control_ids_rpi.yaml | 13 + > > > > > .../pipeline/rpi/common/rpi_stream.h | 10 + > > > > > .../pipeline/rpi/pisp/data/example.yaml | 45 + > > > > > .../pipeline/rpi/pisp/data/meson.build | 8 + > > > > > src/libcamera/pipeline/rpi/pisp/meson.build | 12 + > > > > > src/libcamera/pipeline/rpi/pisp/pisp.cpp | 2372 +++++++++++++++++ > > > > > subprojects/.gitignore | 1 + > > > > > subprojects/libpisp.wrap | 6 + > > > > > 42 files changed, 28410 insertions(+), 2 deletions(-) > > > > > create mode 100644 src/ipa/rpi/pisp/data/imx219.json > > > > > create mode 100644 src/ipa/rpi/pisp/data/imx219_noir.json > > > > > create mode 100644 src/ipa/rpi/pisp/data/imx290.json > > > > > create mode 100644 src/ipa/rpi/pisp/data/imx296.json > > > > > create mode 100644 src/ipa/rpi/pisp/data/imx296_16mm.json > > > > > create mode 100644 src/ipa/rpi/pisp/data/imx296_6mm.json > > > > > create mode 100644 src/ipa/rpi/pisp/data/imx296_mono.json > > > > > create mode 100644 src/ipa/rpi/pisp/data/imx378.json > > > > > create mode 100755 src/ipa/rpi/pisp/data/imx415.json > > > > > create mode 100644 src/ipa/rpi/pisp/data/imx462.json > > > > > create mode 100644 src/ipa/rpi/pisp/data/imx477.json > > > > > create mode 100644 src/ipa/rpi/pisp/data/imx477_16mm.json > > > > > create mode 100644 src/ipa/rpi/pisp/data/imx477_6mm.json > > > > > create mode 100644 src/ipa/rpi/pisp/data/imx477_noir.json > > > > > create mode 100644 src/ipa/rpi/pisp/data/imx477_scientific.json > > > > > create mode 100644 src/ipa/rpi/pisp/data/imx519.json > > > > > create mode 100644 src/ipa/rpi/pisp/data/imx708.json > > > > > create mode 100644 src/ipa/rpi/pisp/data/imx708_noir.json > > > > > create mode 100644 src/ipa/rpi/pisp/data/imx708_wide.json > > > > > create mode 100644 src/ipa/rpi/pisp/data/imx708_wide_noir.json > > > > > create mode 100644 src/ipa/rpi/pisp/data/meson.build > > > > > create mode 100644 src/ipa/rpi/pisp/data/ov5647.json > > > > > create mode 100644 src/ipa/rpi/pisp/data/ov5647_noir.json > > > > > create mode 100755 src/ipa/rpi/pisp/data/ov64a40.json > > > > > create mode 100644 src/ipa/rpi/pisp/data/ov9281_mono.json > > > > > create mode 100644 src/ipa/rpi/pisp/data/se327m12.json > > > > > create mode 100644 src/ipa/rpi/pisp/data/uncalibrated.json > > > > > create mode 100644 src/ipa/rpi/pisp/meson.build > > > > > create mode 100644 src/ipa/rpi/pisp/pisp.cpp > > > > > create mode 100644 src/libcamera/pipeline/rpi/pisp/data/example.yaml > > > > > create mode 100644 src/libcamera/pipeline/rpi/pisp/data/meson.build > > > > > create mode 100644 src/libcamera/pipeline/rpi/pisp/meson.build > > > > > create mode 100644 src/libcamera/pipeline/rpi/pisp/pisp.cpp > > > > > create mode 100644 subprojects/libpisp.wrap
On Tue, Jan 14, 2025 at 10:46:18PM +0200, Laurent Pinchart wrote: > On Tue, Jan 14, 2025 at 04:29:14PM +0000, Barnabás Pőcze wrote: > > 2025. január 14., kedd 10:54 keltezéssel, Naushir Patuck írta: > > > On Mon, 13 Jan 2025 at 12:30, Barnabás Pőcze wrote: > > > > 2025. január 13., hétfő 13:12 keltezéssel, Kieran Bingham írta: > > > > > Quoting Naushir Patuck (2025-01-13 09:24:42) > > > > > > Hi, > > > > > > > > > > > > A long time coming... this series add support for Raspberry Pi 5 (PiSP) to > > > > > > upstream libcamera. The IPA and pipeline handler code have been taken mostly > > > > > > unchanged from the Raspberry Pi downstream libcamera tree: > > > > > > https://github.com/raspberrypi/libcamera. Support for IMX500 and CNNs are not > > > > > > available in this series since we have yet to attempt to upstream the kernel > > > > > > changes. > > > > > > > > > > > > IMPORTANT NOTE > > > > > > -------------- > > > > > > The Pi 5 pipeline handler in this commit is NOT COMPATIBLE with the Raspberry Pi > > > > > > kernel drivers just yet! Instead, you must use the mainline kernel upstream > > > > > > drivers with this pipeline handler. When futher upstreaming development for > > > > > > embedded data is completed, RPi will backport the upstream kernel drives to our > > > > > > tree and this pipeline handler will then begin to work with both upstream and > > > > > > downstream kernel trees. > > > > > > > > > > Thanks for posting this! > > > > > > > > > > The first issue we face is the dependency in libpisp in the CI loops it > > > > > seems: > > > > > > > > > > https://gitlab.freedesktop.org/camera/libcamera/-/pipelines/1344547 > > > > > > > > > > has many failed jobs, which I believe are all going to be more or less > > > > > instances of: > > > > > > > > > > https://gitlab.freedesktop.org/camera/libcamera/-/jobs/69247972 > > > > > > > > > > src/libcamera/pipeline/rpi/pisp/meson.build:8:14: ERROR: Dependency 'libpisp' is required but not found. > > > > > > > > > > I think we disable subprojects in the CI build maybe ? > > > > > > > > > > Any thoughts anyone? > > > > > > > > The `wrap_mode=nofallback` option causes the error. But `libpisp` should > > > > also probably call > > > > > > > > meson.override_dependency('libpisp', libpisp_dep) > > > > > > > > in its `src/meson.build`. And then there is no need for the explicit > > > > `fallback: ['libpisp', 'libpisp_dep']` when calling `dependency()`. > > > > > > I presume this is just a syntactic change and will not fix the CI > > > issue? I can remove the libpisp wrap file and have a hard dependency > > > on libpisp for the pipeline handler/ipa, but that will mean it won't > > > be tested under CI... > > > > Yes, this will not solve the issue, but useful nonetheless. It would appear that > > `-D force_fallback_for=libpisp` is enough to make it work, but there are other > > jobs that want to use that option, and multiple occurrences overwrite each other. > > I am not sure what the best approach is. `--wrap-mode=nofallback` could be removed > > altogether, or replaced with `--wrap-mode=nodownload` + some magic to bring in the > > necessary dependencies, or something else. > > If we have to compile the dependencies from source, I would rather do > this at container build time to avoid CI failures unrelated to libcamera > itself. Also, when compiling libcamera today with a gcc 13.3.0 cross-compiler from buildroot 2024.11.1, I got the following error: ../../src/libcamera/pipeline/rpi/pisp/pisp.cpp: In member function ‘void libcamera::PiSPCameraData::cfeBufferDequeue(libcamera::FrameBuffer*)’: ../../src/libcamera/pipeline/rpi/pisp/pisp.cpp:1680:28: error: ‘index’ may be used uninitialized [-Werror=maybe-uninitialized] 1680 | << ", timestamp: " << buffer->metadata().timestamp; | ^~~~~~~~~~~~~~~ ../../src/libcamera/pipeline/rpi/pisp/pisp.cpp:1656:13: note: ‘index’ was declared here 1656 | int index; | ^~~~~ I haven't tested with other compiler versions yet, CI will give us more information once we handle the libpisp dependency. > > > > > Do we need to build in libpisp into the CI as a dependency directly? Do > > > > > we need to manage keeping libcamera in sync with specific versions/API > > > > > compatibility of libpisp ? > > > > > > > > > > > Naushir Patuck (4): > > > > > > meson: Add libpisp.wrap > > > > > > ipa: rpi: Add support for Raspberry Pi 5 > > > > > > pipeline: rpi: Add new stream flags for PiSP > > > > > > pipeline: rpi: Add support for Raspberry Pi 5 > > > > > > > > > > > > Documentation/guides/pipeline-handler.rst | 2 +- > > > > > > include/libcamera/ipa/meson.build | 1 + > > > > > > include/libcamera/meson.build | 1 + > > > > > > meson.build | 1 + > > > > > > meson_options.txt | 4 +- > > > > > > src/ipa/rpi/pisp/data/imx219.json | 1187 +++++++++ > > > > > > src/ipa/rpi/pisp/data/imx219_noir.json | 1112 ++++++++ > > > > > > src/ipa/rpi/pisp/data/imx290.json | 341 +++ > > > > > > src/ipa/rpi/pisp/data/imx296.json | 1194 +++++++++ > > > > > > src/ipa/rpi/pisp/data/imx296_16mm.json | 1247 +++++++++ > > > > > > src/ipa/rpi/pisp/data/imx296_6mm.json | 1247 +++++++++ > > > > > > src/ipa/rpi/pisp/data/imx296_mono.json | 960 +++++++ > > > > > > src/ipa/rpi/pisp/data/imx378.json | 634 +++++ > > > > > > src/ipa/rpi/pisp/data/imx415.json | 1159 ++++++++ > > > > > > src/ipa/rpi/pisp/data/imx462.json | 342 +++ > > > > > > src/ipa/rpi/pisp/data/imx477.json | 1186 +++++++++ > > > > > > src/ipa/rpi/pisp/data/imx477_16mm.json | 1240 +++++++++ > > > > > > src/ipa/rpi/pisp/data/imx477_6mm.json | 1240 +++++++++ > > > > > > src/ipa/rpi/pisp/data/imx477_noir.json | 1148 ++++++++ > > > > > > src/ipa/rpi/pisp/data/imx477_scientific.json | 546 ++++ > > > > > > src/ipa/rpi/pisp/data/imx519.json | 634 +++++ > > > > > > src/ipa/rpi/pisp/data/imx708.json | 1270 +++++++++ > > > > > > src/ipa/rpi/pisp/data/imx708_noir.json | 1233 +++++++++ > > > > > > src/ipa/rpi/pisp/data/imx708_wide.json | 1293 +++++++++ > > > > > > src/ipa/rpi/pisp/data/imx708_wide_noir.json | 1148 ++++++++ > > > > > > src/ipa/rpi/pisp/data/meson.build | 29 + > > > > > > src/ipa/rpi/pisp/data/ov5647.json | 1186 +++++++++ > > > > > > src/ipa/rpi/pisp/data/ov5647_noir.json | 1121 ++++++++ > > > > > > src/ipa/rpi/pisp/data/ov64a40.json | 1133 ++++++++ > > > > > > src/ipa/rpi/pisp/data/ov9281_mono.json | 215 ++ > > > > > > src/ipa/rpi/pisp/data/se327m12.json | 639 +++++ > > > > > > src/ipa/rpi/pisp/data/uncalibrated.json | 135 + > > > > > > src/ipa/rpi/pisp/meson.build | 49 + > > > > > > src/ipa/rpi/pisp/pisp.cpp | 1068 ++++++++ > > > > > > src/libcamera/control_ids_rpi.yaml | 13 + > > > > > > .../pipeline/rpi/common/rpi_stream.h | 10 + > > > > > > .../pipeline/rpi/pisp/data/example.yaml | 45 + > > > > > > .../pipeline/rpi/pisp/data/meson.build | 8 + > > > > > > src/libcamera/pipeline/rpi/pisp/meson.build | 12 + > > > > > > src/libcamera/pipeline/rpi/pisp/pisp.cpp | 2372 +++++++++++++++++ > > > > > > subprojects/.gitignore | 1 + > > > > > > subprojects/libpisp.wrap | 6 + > > > > > > 42 files changed, 28410 insertions(+), 2 deletions(-) > > > > > > create mode 100644 src/ipa/rpi/pisp/data/imx219.json > > > > > > create mode 100644 src/ipa/rpi/pisp/data/imx219_noir.json > > > > > > create mode 100644 src/ipa/rpi/pisp/data/imx290.json > > > > > > create mode 100644 src/ipa/rpi/pisp/data/imx296.json > > > > > > create mode 100644 src/ipa/rpi/pisp/data/imx296_16mm.json > > > > > > create mode 100644 src/ipa/rpi/pisp/data/imx296_6mm.json > > > > > > create mode 100644 src/ipa/rpi/pisp/data/imx296_mono.json > > > > > > create mode 100644 src/ipa/rpi/pisp/data/imx378.json > > > > > > create mode 100755 src/ipa/rpi/pisp/data/imx415.json > > > > > > create mode 100644 src/ipa/rpi/pisp/data/imx462.json > > > > > > create mode 100644 src/ipa/rpi/pisp/data/imx477.json > > > > > > create mode 100644 src/ipa/rpi/pisp/data/imx477_16mm.json > > > > > > create mode 100644 src/ipa/rpi/pisp/data/imx477_6mm.json > > > > > > create mode 100644 src/ipa/rpi/pisp/data/imx477_noir.json > > > > > > create mode 100644 src/ipa/rpi/pisp/data/imx477_scientific.json > > > > > > create mode 100644 src/ipa/rpi/pisp/data/imx519.json > > > > > > create mode 100644 src/ipa/rpi/pisp/data/imx708.json > > > > > > create mode 100644 src/ipa/rpi/pisp/data/imx708_noir.json > > > > > > create mode 100644 src/ipa/rpi/pisp/data/imx708_wide.json > > > > > > create mode 100644 src/ipa/rpi/pisp/data/imx708_wide_noir.json > > > > > > create mode 100644 src/ipa/rpi/pisp/data/meson.build > > > > > > create mode 100644 src/ipa/rpi/pisp/data/ov5647.json > > > > > > create mode 100644 src/ipa/rpi/pisp/data/ov5647_noir.json > > > > > > create mode 100755 src/ipa/rpi/pisp/data/ov64a40.json > > > > > > create mode 100644 src/ipa/rpi/pisp/data/ov9281_mono.json > > > > > > create mode 100644 src/ipa/rpi/pisp/data/se327m12.json > > > > > > create mode 100644 src/ipa/rpi/pisp/data/uncalibrated.json > > > > > > create mode 100644 src/ipa/rpi/pisp/meson.build > > > > > > create mode 100644 src/ipa/rpi/pisp/pisp.cpp > > > > > > create mode 100644 src/libcamera/pipeline/rpi/pisp/data/example.yaml > > > > > > create mode 100644 src/libcamera/pipeline/rpi/pisp/data/meson.build > > > > > > create mode 100644 src/libcamera/pipeline/rpi/pisp/meson.build > > > > > > create mode 100644 src/libcamera/pipeline/rpi/pisp/pisp.cpp > > > > > > create mode 100644 subprojects/libpisp.wrap