Hi Kieran,

Kieran Bingham <[email protected]> escreveu (quarta,
6/05/2026 à(s) 13:10):

> Hi Jose,
>
> Quoting Jose Quaresma (2026-05-06 12:15:48)
> > vimc:
> > Is a driver that emulates complex video hardware, and is
> > useful for testing libcamera without needing access to a physical
> > camera. We would like to add support to the libcamera vimc
> > pipeline handler for multiple simultaneous streams, to ease
> > testing of such mechanism. This also requires adding multistream
> > support to the vimc driver in the Linux kernel.
> >
> > virtual:
> > Is a specialized handler designed to create software-based,
> > virtual camera devices. It allows for testing, debugging, and
> > simulating camera pipelines without needing physical hardware,
> > often producing test patterns (e.g., all green frames) via qcam.
> > This enables developers to emulate camera sensors and
> > Image Signal Processors (ISPs) within the libcamera
> >
> > Signed-off-by: Jose Quaresma <[email protected]>
> > ---
> >  .../recipes-multimedia/libcamera/libcamera_0.6.0.bb       | 8 ++++++--
> >  1 file changed, 6 insertions(+), 2 deletions(-)
> >
> > diff --git a/meta-multimedia/recipes-multimedia/libcamera/
> libcamera_0.6.0.bb b/meta-multimedia/recipes-multimedia/libcamera/
> libcamera_0.6.0.bb
> > index 4dce26a5d0..1f9e21e45b 100644
> > --- a/meta-multimedia/recipes-multimedia/libcamera/libcamera_0.6.0.bb
> > +++ b/meta-multimedia/recipes-multimedia/libcamera/libcamera_0.6.0.bb
> > @@ -28,12 +28,16 @@ PACKAGECONFIG[dng] = ",,tiff"
> >  PACKAGECONFIG[gst] =
> "-Dgstreamer=enabled,-Dgstreamer=disabled,gstreamer1.0
> gstreamer1.0-plugins-base"
> >  PACKAGECONFIG[pycamera] =
> "-Dpycamera=enabled,-Dpycamera=disabled,python3 python3-pybind11"
> >  PACKAGECONFIG[raspberrypi] = ",,libpisp"
> > +PACKAGECONFIG[vimc] = ",,"
> > +PACKAGECONFIG[virtual] = ",,libyuv libjpeg-turbo"
> >
> > +ARM_PIPELINES = "imx8-isi,mali-c55,simple,uvcvideo"
> >  # Raspberry Pi requires the meta-raspberrypi layer
> >  # These values are coming from the project's meson.build file,
> >  # which lists the supported values by arch.
> > -ARM_PIPELINES = "${@bb.utils.contains('PACKAGECONFIG', 'raspberrypi',
> 'rpi/pisp,rpi/vc4,', '', d)}"
> > -ARM_PIPELINES .= "imx8-isi,mali-c55,simple,uvcvideo"
> > +ARM_PIPELINES .= "${@bb.utils.contains('PACKAGECONFIG', 'raspberrypi',
> ',rpi/pisp,rpi/vc4', '', d)}"
>
>
> > +ARM_PIPELINES .= "${@bb.utils.contains('PACKAGECONFIG', 'vimc',
> ',vimc', '', d)}"
> > +ARM_PIPELINES .= "${@bb.utils.contains('PACKAGECONFIG', 'virtual',
> ',virtual', '', d)}"
>
> These are not 'ARM' pipelines. Maybe they should be categorised
> separately as test platforms ?
>

I thought about that, but pipelines are only chosen in arm/aarch64, and for
all other architectures we have 'auto'
which is not deterministic and will enable everything possible.

LIBCAMERA_PIPELINES ??= "auto"
LIBCAMERA_PIPELINES:arm ??= "${ARM_PIPELINES}"
LIBCAMERA_PIPELINES:aarch64 ??= "${ARM_PIPELINES}"

Therefore, this change will work the same way in ARM and the others.
The 'vimc' is already part of 'auto' because it has no dependencies and
'virtual' will also be enabled in 'auto' when chosen in PACKAGECONFIG,
given that the dependencies will be in the sysroot.
That's if I understood correctly; correct me if I'm wrong.

I could add a TEST_PIPELINES but I think that would complicate things
too much because I don't see how I would use it together with the 'auto'.

Jose


>
> --
> Kieran
>
>
>
> >
> >  LIBCAMERA_PIPELINES ??= "auto"
> >  LIBCAMERA_PIPELINES:arm ??= "${ARM_PIPELINES}"
> > --
> > 2.54.0
> >
> >
>


-- 
Best regards,

José Quaresma
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#126805): 
https://lists.openembedded.org/g/openembedded-devel/message/126805
Mute This Topic: https://lists.openembedded.org/mt/119177036/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to