Now that the libcamera package from meta-multimedia has support
for flicker controls and libcamera-apps uses meson, we can bump the
package to its latest revision.
Signed-off-by: Vivien Didelot <vivien.didelot@gmail.com>
CMake is removed in upstream libcamera-apps as of 9e17265,
thus switch to meson to build the package from now on.
Add PACKAGECONFIG entries and neon flags matching the settings
project meson.build as described in the official documentation
https://www.raspberrypi.com/documentation/computers/camera_software.html#building-libcamera-apps
Default to "drm" for PACKAGECONFIG as it is the only option enabled
in both recommended meson setup for Raspberry Pi OS and Raspberry Pi
OS Lite.
Signed-off-by: Vivien Didelot <vivien.didelot@gmail.com>
Bump libcamera to 3d9ac10 to get a fix for the current libcamera from
meta-openembedded/meta-multimedia for the following issue:
error: 'StreamRoles' in namespace 'libcamera' does not name a type; did you mean 'StreamRole'?
55 | using StreamRoles = libcamera::StreamRoles;
| ^~~~~~~~~~~
| StreamRole
Reported-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Vivien Didelot <vivien.didelot@gmail.com>
Move the libcamera-apps recipe to dynamic-layers/multimedia-layer
alongside with its libcamera dependency.
Signed-off-by: Vivien Didelot <vivien.didelot@gmail.com>
Build failure occurring with gcc version 13.1.1.
Add patch to fix builds with latest gcc in OE-core.
Signed-off-by: Vincent Davis Jr <vince@underview.tech>
* libcamera was updated in meta-oe in:
https://git.openembedded.org/meta-openembedded/commit/?id=4e0281797277cf44287de93618c51e4a219fac75
* now it was failing with:
meson.build:3:0: ERROR: Options "raspberrypi" are not in allowed choices: "all, auto, imx8-isi, ipu3, rkisp1, rpi/vc4, simple, uvcvideo, vimc"
because raspberrypi support was updated and renamed to rpi/vc4 in:
726e9274ea
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Update is also meant to fix bug where if x11
isn't define in DISTRO_FEATURES builds will
fail to compile.
Upgrades version of VLC to 3.0.17
* Reason for update with version 3.0.12 compiling
using GLESv2 and without x11/wayland defined in
DISTRO_FEATURES it was proven to be difficult.
Newer version of VLC appears to have better support
for GLESv2 as there was far less hurdles.
* SRCREV set to b276eb0d7bc3213363e97dbb681ef7c927be6c73
Updates to PACKAGECONFIG
* Only include GLESv2 if opengl defined in DISTRO_FEATURES
* Only include libnotify is x11 included in DISTRO_FEATURES.
Not checking for wayland as well because wayland integration
requires a separate MR.
* remove ability to set certain flags as they require
significant more development time to integrate. Probably
best to include in separate MR.
Flags for:
- opencv
- freerdp
- samba
- dvdread
- vdpau
- wayland
- dca
Removal of
--------------------------------------------------------
TARGET_CFLAGS:append = " -fcommon"
TARGET_CXXFLAGS:append = " -fcommon"
--------------------------------------------------------
as define in configure.ac via the
3001-configure.ac-setup-for-OE-usage.patch patch
Removes extraneous sed operations in the do_configure
takes. Appears to nolonger be required.
Adds required flags to build that couldn't be set in configure.ac
------------------------------------------------------------------
TARGET_CFLAGS:append = " -I${STAGING_INCDIR}/drm"
TARGET_LDFLAGS:append = " ${@bb.utils.contains('DISTRO_FEATURES',
'opengl', '-lGLESv2', '', d)}"
------------------------------------------------------------------
Replaces patches with updated patches used in actual commit.
Prepend patches that are from meta-openembedded/meta-multimedia
to 2XXX-<PATCH NAME>.patch. Adds nine new patches to fix ./configure,
compile, runtime bugs.
PATCHES:
- 3001-configure.ac-setup-for-OE-usage.patch
* Used to ensure crossed compilted OE libraries are used during
compilation. Specifically for the mmal and omxil libraries.
- 3002-fix-EGL-macro-undeclared-and-EGLImageKHR.patch
* Appears to be missing EGL preprocesor directives patch
defines them. The function createImageKHR also appears
to return EGLImageKHR not EGLImage patch updates. To
accommodate for change.
- 3003-codec-omxil_core-replace-opt-vc-path-with-usr-lib.patch
* Configures omxil_core.c for OE usages as libbcm_host.so
and libopenmaxil.so are located in a different location.
- 3004-use-GLESv2-headers-over-GL-headers.patch
* Ensures GLESv2 headers are used over OpenGL headers.
- 3005-modules-remove-glspectrum-usage.patch
* Removes glspectrum plugin as it appears to require
normal OpenGL and not GLESv2 for usage.
- 3006-codec-omxil_core.h-fix-multiple-definition-of.patch
* Removes compile error due to function pointer in omxil_core.h
header being defined multiple times as the header is included
in multiple c source files.
- 3007-remove-xorg-related-link-libs.patch
* Removes xorg related flags if x11 isn't defined in
DISTRO_FEATURES variable.
- 3008-vo-Makefile.am-exclude-libgl_plugin.patch
* Removes the libgl_plugin from being built if opengl
not defined in DISTRO_FEATURES variable.
- 3009-vo-converter_vaapi-Fix-EGL-macro-undeclared.patch
* Appears to be missing EGL preprocesor directives patch
defines them.
Signed-off-by: Vincent Davis Jr <vince@underview.tech>
Remove the single quotes from the
COMPATIBLE_HOST variable regex as it appears
to make expression invalid. Thus, leading to
ERROR: Nothing PROVIDES 'rpidistro-ffmpeg'
rpidistro-ffmpeg was skipped: incompatible with host arm-*-gnueabi (not in COMPATIBLE_HOST)
Signed-off-by: Vincent Davis Jr <vince@underview.tech>
Add Raspberry Pi pipeline handler and Image
Processing Algorithms.
Work around clang 14/15 build error:
field within 'v4l2_ext_control' is less aligned.
See
https://github.com/kbingham/libcamera/pull/40.
Signed-off-by: Devendra Tewari <devendra.tewari@gmail.com>
enable mmal only when using userland graphics
Fixes builds on non-rpi machines e.g.
ERROR: Nothing PROVIDES 'userland' (but /mnt/jenkins/workspace/yocto-world-glibc/sources/meta-raspberrypi/recipes-multimedia/rpidistro-ffmpeg/rpidistro-ffmpeg_4.3.2.bb DEPENDS on or otherwise requires it)
userland was skipped: incompatible with machine qemumips (not in COMPATIBLE_MACHINE)
NOTE: Runtime target 'rpidistro-ffmpeg' is unbuildable, removing...
Signed-off-by: Khem Raj <raj.khem@gmail.com>
This adds support for building rpidistro version of VLC with hardware
acceleration through MMAL. The version of VLC located in
meta-openembedded/meta-multimedia/recipes-multimedia/vlc uses mainline
VLC and doesn't give all the proper flags. The series of patches attached
to commit gives necessarly vlc mmal flags.
* https://code.videolan.org/videolan/vlc/-/issues/24617
* https://bugs.gentoo.org/723006
The build fails with errors such as "multiple definition of `pf_enable_graphic_buffers'"
when omxil is enabled. The issue seems to be due to compiler flags. Adding -fcommon to
both cflags and cxxflags yields a full compile.
Signed-off-by: Vincent Davis Jr <vince@underview.tech>
This is the result of automated script conversion:
oe-core/scripts/contrib/convert-overrides.py .
converting the metadata to use ":" as the override character instead of "_".
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
libcamera middleware has supported many pipelines for video frames capturing.
So defined the packageconfig, to enable the rpi pipeline and to capture frames
using the rpi camera sensor.
Signed-off-by: Madhavan Krishnan <madhavan.krishnan@linaro.org>