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:
Jose Quaresma
2026-05-06 12:15:51 +01:00
committed by Khem Raj
parent 0b86b4a707
commit a971c8690e
2 changed files with 7 additions and 72 deletions
@@ -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',
@@ -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)}"