[PATCH v1 0/4] Raspberry Pi: Add support for Pi 5 (PiSP)

Barnabás Pőcze pobrn at protonmail.com
Mon Jan 13 13:29:02 CET 2025


Hi


2025. január 13., hétfő 13:12 keltezéssel, Kieran Bingham <kieran.bingham at 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
> >
> 


More information about the libcamera-devel mailing list