Commit Graph

15 Commits

Author SHA1 Message Date
Vivien Didelot
5e2f79a6fa libcamera-apps: bump to latest main
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>
2023-08-08 01:54:22 +01:00
Vivien Didelot
5f9423e4f9 libcamera-apps: switch from CMake to meson
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>
2023-08-08 01:54:22 +01:00
Vivien Didelot
9d9f98d266 libcamera-apps: bump to 3d9ac10
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>
2023-08-08 01:54:22 +01:00
Vivien Didelot
55b6e121f9 libcamera-apps: move recipe to dynamic-layers
Move the libcamera-apps recipe to dynamic-layers/multimedia-layer
alongside with its libcamera dependency.

Signed-off-by: Vivien Didelot <vivien.didelot@gmail.com>
2023-08-08 01:54:22 +01:00
Vincent Davis Jr
be4867e494 rpidistro-vlc: fix error uint64_t does not name
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>
2023-08-02 10:52:06 +01:00
Martin Jansa
f78b4f159d libcamera: update PACKAGECONFIG for libcamera-0.1.0
* 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>
2023-07-27 15:01:55 +01:00
Khem Raj
3afdbbf782 rpidistro-vlc: Fix build with clang16
Disable new warning about incompatible function pointers

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-03-27 09:34:06 +01:00
Vincent Davis Jr
e493266180 rpidistro-vlc: upgrade 3.0.12 -> 3.0.17
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>
2022-12-12 23:29:00 +00:00
Vincent Davis Jr
4946b8d538 rpidistro-vlc,rpidistro-ffmpeg: update COMPATIBLE_HOST regex
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>
2022-12-05 20:55:13 +00:00
Sung Gon Kim
a305f4804b libcamera: rename bbappend to match any version
libcamera has been renamed in meta-openembedded in:
1032bce778

Signed-off-by: Sung Gon Kim <sunggon82.kim@lge.com>
2022-10-28 14:03:00 +01:00
Devendra Tewari
5edbd17c5b libcamera: Tweak to build for Raspberry Pi
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>
2022-10-11 00:24:58 +01:00
Khem Raj
1b598573be rpidistro-vlc,rpidistro-ffmpeg: Limit scope to just rpi machines
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>
2022-09-13 22:15:08 +01:00
Vincent Davis Jr
8f88bfa824 rpidistro-vlc: add rpidistro VLC build (with MMAL enabled)
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>
2022-09-06 03:32:59 +01:00
Martin Jansa
9ea7aa2cd2 Convert to new override syntax
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>
2021-08-04 12:30:12 +03:00
Madhavan Krishnan
6f4446bffc libcamera: Define packageconfig to enable rpi pipeline
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>
2020-10-05 18:19:50 +01:00