mirror of
https://github.com/openembedded/meta-openembedded.git
synced 2026-05-09 05:49:23 +00:00
libcamera: 0.6.0 -> 0.7.0
- Drop merged pacth 0001-libcamera-Do-not-assume-libc-with-clang.patch. - The v4l2 option "true" is deprecated and we should use "enabled". - There is a new option "rpi-awb-nn", disabled for now, which requires TensorFlow Lite. - The GPU acceleration in the software ISP "SoftISP" for delivering better performance and it becomes enabled when we have OpenGL. This release brings 158 commits with substantial development on the SoftISP components. This brings in GPU acceleration, allowing us to get higher throughput for cameras using this pipeline. Further development to improve the image quality is ongoing now that we can perform more processing in realtime. The simple pipeline handler now supports exposing the Raw streams directly allowing us to enable the SoftISP by default without removing access to the camera formats. Kernel headers have been updated to v6.18, supporting the new V4L2 ISP kernel interface which allows us to continue improvements to hardware ISP pipelines as we add new features. Logging has been improved to better detect when to enable or disable color output and can be controlled through the environment variable LIBCAMERA_LOG_COLOR. A new control is added for LensShadingCorrectionEnable to allow runtime control over the LSC components where supported. The gstreamer pipeline now has raw support added to the libcamerasrc stream-role property allowing raw streams to be configured and accessed. An exciting new AWB algorithm using Neural Networks, has been added to the Raspberry Pi IPA following extensive development and training performed by the Raspberry Pi Camera Team. And finally, the Documentation now includes a support matrix which will help identify the current support and enablement for platforms and sensors. More on https://github.com/libcamera-org/libcamera/releases/tag/v0.7.0 Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io> Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
This commit is contained in:
-68
@@ -1,68 +0,0 @@
|
||||
From 0c68347365ec4c0bd3f84e1d2f9f51eb3c2405c8 Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Fri, 24 Oct 2025 11:10:59 -0700
|
||||
Subject: [PATCH] libcamera: Do not assume libc++ with clang
|
||||
|
||||
Clang on linux can be defaulting to use libstdc++, it
|
||||
should be using default platform C++ runtime library which the
|
||||
toolchain should be configured to do the right thing
|
||||
|
||||
Add logic in meson file to detect C++ runtime used by toolchain
|
||||
and defile -stdlib= parameter accordingly
|
||||
|
||||
Upstream-Status: Submitted [https://lists.libcamera.org/pipermail/libcamera-devel/2025-October/054151.html]
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
---
|
||||
meson.build | 32 +++++++++++++++++++++-----------
|
||||
1 file changed, 21 insertions(+), 11 deletions(-)
|
||||
|
||||
diff --git a/meson.build b/meson.build
|
||||
index fa6487f6..89294936 100644
|
||||
--- a/meson.build
|
||||
+++ b/meson.build
|
||||
@@ -118,7 +118,24 @@ cpp_arguments = [
|
||||
'-Wnon-virtual-dtor',
|
||||
]
|
||||
|
||||
-cxx_stdlib = 'libstdc++'
|
||||
+# Try to detect libc++
|
||||
+libcxx_ver = cxx.get_define('_LIBCPP_VERSION',
|
||||
+ prefix: '#include <vector>\n')
|
||||
+
|
||||
+# Try to detect libstdc++
|
||||
+glibcxx_ver = cxx.get_define('__GLIBCXX__',
|
||||
+ prefix: '#include <vector>\n')
|
||||
+
|
||||
+stdlib_msg = 'unknown'
|
||||
+
|
||||
+if libcxx_ver != ''
|
||||
+ cxx_stdlib = 'libc++'
|
||||
+elif glibcxx_ver != ''
|
||||
+ # __GLIBCXX__ is usually a yyyymmdd date code
|
||||
+ cxx_stdlib = 'libstdc++'
|
||||
+endif
|
||||
+
|
||||
+message('Detected C++ standard library: ' + cxx_stdlib)
|
||||
|
||||
if cc.get_id() == 'clang'
|
||||
if cc.version().version_compare('<9')
|
||||
@@ -138,16 +155,9 @@ if cc.get_id() == 'clang'
|
||||
]
|
||||
endif
|
||||
endif
|
||||
-
|
||||
- # Use libc++ by default if available instead of libstdc++ when compiling
|
||||
- # with clang.
|
||||
- if cc.find_library('c++', required : false).found()
|
||||
- cpp_arguments += [
|
||||
- '-stdlib=libc++',
|
||||
- ]
|
||||
- cxx_stdlib = 'libc++'
|
||||
- endif
|
||||
-
|
||||
+ cpp_arguments += [
|
||||
+ '-stdlib=' + cxx_stdlib,
|
||||
+ ]
|
||||
cpp_arguments += [
|
||||
'-Wextra-semi',
|
||||
'-Wthread-safety',
|
||||
+7
-4
@@ -11,10 +11,9 @@ LIC_FILES_CHKSUM = "\
|
||||
|
||||
SRC_URI = " \
|
||||
git://git.libcamera.org/libcamera/libcamera.git;protocol=https;branch=master;tag=v${PV} \
|
||||
file://0001-libcamera-Do-not-assume-libc-with-clang.patch \
|
||||
"
|
||||
|
||||
SRCREV = "3c17d1fbb2bd93f221afee788ebf0d7394032e4d"
|
||||
SRCREV = "b7854fd07d42168f099b5ce30d1702e0e0875bf5"
|
||||
|
||||
PE = "1"
|
||||
|
||||
@@ -23,10 +22,13 @@ DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'qt', 'qtbase qtbase-native'
|
||||
|
||||
PACKAGES =+ "${PN}-compliance ${PN}-gst ${PN}-pycamera"
|
||||
|
||||
PACKAGECONFIG ??= ""
|
||||
PACKAGECONFIG ??= " \
|
||||
${@bb.utils.filter('DISTRO_FEATURES', 'opengl', d)} \
|
||||
"
|
||||
PACKAGECONFIG[dng] = ",,tiff"
|
||||
PACKAGECONFIG[compliance] = "-Dlc-compliance=enabled,-Dlc-compliance=disabled,gtest"
|
||||
PACKAGECONFIG[gst] = "-Dgstreamer=enabled,-Dgstreamer=disabled,gstreamer1.0 gstreamer1.0-plugins-base"
|
||||
PACKAGECONFIG[opengl] = ",,virtual/libgl virtual/egl"
|
||||
PACKAGECONFIG[python] = "-Dpycamera=enabled,-Dpycamera=disabled,python3-pybind11"
|
||||
PACKAGECONFIG[raspberrypi] = ",,libpisp"
|
||||
PACKAGECONFIG[vimc] = ",,"
|
||||
@@ -46,10 +48,11 @@ LIBCAMERA_PIPELINES:aarch64 ??= "${ARM_PIPELINES}"
|
||||
|
||||
EXTRA_OEMESON = " \
|
||||
-Dpipelines=${LIBCAMERA_PIPELINES} \
|
||||
-Dv4l2=true \
|
||||
-Dv4l2=enabled \
|
||||
-Dcam=enabled \
|
||||
-Dtest=false \
|
||||
-Ddocumentation=disabled \
|
||||
-Drpi-awb-nn=disabled \
|
||||
"
|
||||
|
||||
RDEPENDS:${PN} = "${@bb.utils.contains('DISTRO_FEATURES', 'wayland qt', 'qtwayland', '', d)}"
|
||||
Reference in New Issue
Block a user