commit 9cef968c512c1133051345b49ce6b191ec5809378e18bbc14c39c77315c4990d Author: OBS User unknown Date: Sat Oct 19 17:10:30 2024 +0000 [info=0f3c64f78d9dc14e4bd7e7b55a3e8ed803a219f053ab7b6c260836f19cadb250] OBS-URL: https://build.opensuse.org/package/show/graphics/libcamera?expand=0&rev=53 diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc diff --git a/_multibuild b/_multibuild new file mode 100644 index 0000000..120926f --- /dev/null +++ b/_multibuild @@ -0,0 +1,3 @@ + + full + diff --git a/_scmsync.obsinfo b/_scmsync.obsinfo new file mode 100644 index 0000000..deb7bf1 --- /dev/null +++ b/_scmsync.obsinfo @@ -0,0 +1,4 @@ +mtime: 1729357803 +commit: 0f3c64f78d9dc14e4bd7e7b55a3e8ed803a219f053ab7b6c260836f19cadb250 +url: https://src.opensuse.org/jengelh/libcamera +revision: master diff --git a/_service b/_service new file mode 100644 index 0000000..a0d4b03 --- /dev/null +++ b/_service @@ -0,0 +1,14 @@ + + + git + https://git.libcamera.org/libcamera/libcamera.git + refs/tags/v0.3.2 + @PARENT_TAG@ + v([0-9\.]*) + + + *.tar + xz + + + diff --git a/baselibs.conf b/baselibs.conf new file mode 100644 index 0000000..03c720c --- /dev/null +++ b/baselibs.conf @@ -0,0 +1,2 @@ +libcamera0_3 +libcamera-base0_3 diff --git a/build.specials.obscpio b/build.specials.obscpio new file mode 100644 index 0000000..abb5dd6 --- /dev/null +++ b/build.specials.obscpio @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5f558a2040dac2a28c90a9b9b8f30e351bc7d9736743b80ef083ec3f6357c0ed +size 256 diff --git a/libcamera-0.3.1.tar.xz b/libcamera-0.3.1.tar.xz new file mode 100644 index 0000000..2044775 --- /dev/null +++ b/libcamera-0.3.1.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cc475ff2ca01fd7a6276fac67aecd13f999388e0d7292c18c326239a40c74f0a +size 1148140 diff --git a/libcamera-0.3.2.tar.xz b/libcamera-0.3.2.tar.xz new file mode 100644 index 0000000..bb6b491 --- /dev/null +++ b/libcamera-0.3.2.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7dfd005e592cc3db102f974f06719157c9410476c1f5c57c4602390ce5fa4605 +size 1159524 diff --git a/libcamera.changes b/libcamera.changes new file mode 100644 index 0000000..2928215 --- /dev/null +++ b/libcamera.changes @@ -0,0 +1,261 @@ +------------------------------------------------------------------- +Sat Oct 19 17:05:03 UTC 2024 - Jan Engelhardt + +- Update to release 0.3.2 + * Add Sony IMX214 sensor properties + +------------------------------------------------------------------- +Tue Aug 20 07:37:45 UTC 2024 - Jan Engelhardt + +- Split SDL/Qt-dependent tools to multibuilt subpackage + +------------------------------------------------------------------- +Mon Aug 12 15:41:49 UTC 2024 - Jan Engelhardt + +- Update to release 0.3.1 + * new Soft ISP feature and enablement in the simple-pipeline + handler for Qualcomm based devices supporting CamSS and the + inclusion of a new Pipeline handler to support the Mali-C55 + ISP which now has open source kernel drivers available. + * The i.MX8MP ISP is now officially supported through the + existing RKISP1 pipeline handler, and the Simple Pipeline + handler now supports the MediaTek MT8365 platform. + * Three additional camera sensors, IMX283, IMX335, and IMX415 + are also now supported. + * The IPU6 is now supported by the SoftISP and Simple Pipeline + handler and the Onsemi AR0144 is now supported by libipa. A + new control has been added to support setting and reading of + Gamma, and gamma control has been added to the RKISP1 IPA. + +------------------------------------------------------------------- +Tue Mar 19 07:41:24 UTC 2024 - Richard Biener + +- Avoid %if %{pkg_vcmp gcc < 8}, instead replicate the condition + from the BuildRequires section. + +------------------------------------------------------------------- +Sat Jan 13 08:48:16 UTC 2024 - Jan Engelhardt + +- Update to release 0.2.0 + * The control "SceneFlicker" has been removed and replaced by + AeFlickerMode, AeFlickerDetected and AeFlickerPeriod. + * CameraConfiguration::transform was removed, + CameraConfiguration::orientation and sensorConfig added. + +------------------------------------------------------------------- +Fri Sep 01 07:00:58 UTC 2023 - rfrohl@suse.com + +- Update to version 0.1.0: + * v4l2: Use SystemDevices properties to identify cameras + * apps: Add ipa-verify application + * libcamera: formats: Add 14-bits Bayer RAW formats + * libcamera: v4l2_device: openat(2) with O_CLOEXEC to cleanup + after exec(3) +- Drop silent-Werror_dangling-reference.patch: fixed upstream + +------------------------------------------------------------------- +Mon Mar 13 08:48:30 UTC 2023 - Martin Liška + +- Disable warning in silent-Werror_dangling-reference.patch based + compiler version. + +------------------------------------------------------------------- +Wed Mar 8 09:21:29 UTC 2023 - Martin Liška + +- Add silent-Werror_dangling-reference.patch that addressed a false-positive + warning in GCC: https://bugs.libcamera.org/show_bug.cgi?id=185. + +------------------------------------------------------------------- +Mon Feb 6 10:08:27 UTC 2023 - Paolo Stivanin + +- Update to version 0.0.4: + Bugfixes: + * libcamera: yaml_parser: Use C locale + * libcamera: base: utils: Support C libraries lacking locale support + * py: cam.py: Fix duplicate metadata output if more than one stream + * libcamera: camera: Fix validateColorSpaces to choose main colour space + * pipeline: raspberrypi: Fix handling of colour spaces + Core: + * test: Fix/Enable testing with ASan + * test: Remove redundant pipeline tests + * meson: Only build pipeline handlers needed in host architecture + * meson: Add 'all' choice to pipelines option + * utils: checkstyle.py: Add commit title checker + * libcamera: ipa_module: Relax ipaModuleInfo symbol size check + * pipeline: Support configuration file paths + ipa: + * camera_sensor: Improve h/v flip handling + * camera_sensor: Add AR0521 Sensor support + * camera_sensor: Add OV4689 Sensor support + * camera_sensor: Add support for OmniVision OV8858 + * raspberrypi: Support Autofocus with PDAF + * raspberrypi: Support for the Sony IMX708 sensor + * rkisp1: Raise maximum analogue gain + pipeline: + * raspberrypi: Support parameters from a configuration file + * raspberrypi: Add a parameter to disable startup drop frames + * libcamera: rkisp1: Add support for Transform + apps: + * gstreamer: Add bayer8 support to libcamerasrc + * qcam: Show string representation of pixel format + ABI Compliance: + * abi-compliance-checker reports 100% ABI and API compatibility with + with v0.0.3 + +------------------------------------------------------------------- +Wed Dec 21 08:13:42 UTC 2022 - Paolo Stivanin + +- Update to version 0.0.3: + Core: + * Fix tracing when built as a subproject + * Avoid double map lookups in framebuffer_allocator + * Workaround faulty control menus + * controls: Change LensPosition units to dioptres + * camera_sensor: Add IMX519 sensor properties + * Documentation: contributing: Add commit message guidelines + * Declare generic converter interface + utils: + * Add libtuning + * Add initial libtuning script support for rkisp1 and raspberrypi. + * checkstyle.py: Check new header file on new and renamed meson.build files + ipa: + * Move IPA sensor controls validation to CameraSensor (IPU3/RKISP1) + rkisp1: + * Support FrameDurationLimits control for FrameRate management + * Support raw capture (IPA, configuration, and runtime) + * Add support for manual gain and exposure + * Fix stream size validation + * Add additional default values to controls + imx8-isi: + * Enumerate supported stream formats + * Set SensorTimestamp metadata + Raspberry Pi: + * Remove generic "pause" mechanism from Algorithm + - Remove enum BuffferMask from the mojom interface + - Fix digital gain calculations for manual mode + - Fix bug in IPA frame drop logic + - imx477: Update tuning file for the latest camera modules + - Add a "scientific" tuning for the IMX477 + Apps: + - cam: kms: Avoid 'unused-parameter' warnings + - cam: Support parsing array controls in capture scripts + - gstreamer: Improve control id lookups + - lc-compliance: simple_capture: Free Requests properly + python: + - Support controls that use an array of Rectangles + - Expose the Request Sequence Number in Python Bindings + +------------------------------------------------------------------- +Tue Oct 18 10:15:03 UTC 2022 - Bjørn Lie + +- Update to version 0.0.1: + * This patch release commences the package release procedures for + the project. + * Initial releases will include a bump to the patch (0.0.x) + version number, as well as a corresponding increment to the + soname. + * utils: + - Provide a release script + - semver: Add version helper + * meson: + - Shared Object version handling + - Fix typo + * pipeline: + - rkisp1: Set bytesused before queuing parameters buffer + - ipu3: Set bytesused before queuing parameters buffer + * libcamera: + - v4l2_videodevice: Warn if bytesused == 0 when queuing output + buffer + - framebuffer: Move remaining private data to Private class + - base: utils: Drop defopt +- Change service to use explicit tags and obs_scm. +- Drop vers.diff patch and fix-ppc64.patch: Fixed upstream. +- Change lname define to new upstream soname libcamera0_0_1 and in + baselibs.conf. +- Split out libcamera-base0_0_1 shared library, add to baselibs. + Package the shared librarys in individual packages. +- Use ldconfig_scriptlets macro for post(un) handling. +- Stop exporting -Wno-error to C(XX)FLAGS, no longer needed. + +------------------------------------------------------------------- +Fri Sep 2 10:10:53 UTC 2022 - Alexei Sorokin + +- Update to version 0.0.0+g3887.f1776100: + * No changelog available. + +------------------------------------------------------------------- +Wed Jan 5 14:23:40 UTC 2022 - Alexei Sorokin + +- Update to version 0.0.0+g3381.1db1e31e: + * No changelog available. + +------------------------------------------------------------------- +Wed Dec 29 11:35:57 UTC 2021 - Bjørn Lie + +- Add optional pkgconfig(libtiff-4) BuildRequires. + +------------------------------------------------------------------- +Fri Oct 1 20:07:34 UTC 2021 - Jan Engelhardt + +- Update to snapshot 0.0.0+g3076 (d79b412) + * Still in development, not much of a changelog to be had. + +------------------------------------------------------------------- +Thu Sep 9 02:42:44 UTC 2021 - Lukas Müller + +- Update to snapshot 0~3015 (a2571042) +- Disable pipeline 'raspberrypi' because it creates segfaults at runtime. + +------------------------------------------------------------------- +Fri Aug 27 18:03:48 UTC 2021 - Antonio Larrosa + +- Add patch to work around what seems to be a bug in gcc 11 with + constexpr being treated as "non const" only in ppc64/ppc64le: + * fix-ppc64.patch + +------------------------------------------------------------------- +Fri Jul 23 17:38:10 UTC 2021 - Marcus Rueckert + +- pipewire has baselibs, so we should have them here as well + +------------------------------------------------------------------- +Fri Jul 23 16:39:41 UTC 2021 - Jan Engelhardt + +- Update to snapshot 0~2809 (e0704e97) [boo#1188650] + * cam: support using multiple cameras concurrently + +------------------------------------------------------------------- +Wed May 5 07:01:02 UTC 2021 - Jan Engelhardt + +- Update to snapshot 0~2532 (093b71b2) + * No changelog available, understandably. +- Add -Wno-error + +------------------------------------------------------------------- +Mon Nov 2 08:46:59 UTC 2020 - Guillaume GARDET + +- Update to 0~1998.4757ff4 +- Add 'qcam' tool +- Enable all pipelines +- Drop upstream patch: + * noforcedsize.diff + +------------------------------------------------------------------- +Mon Mar 9 14:08:43 UTC 2020 - Jan Engelhardt + +- Update to new development snapshot 0~1118.4de31cc + * No user-friendly changelog at this stage + * C++14 is now mandated +- Add noforcedsize.diff + +------------------------------------------------------------------- +Fri Aug 23 18:54:16 UTC 2019 - Jan Engelhardt + +- Update to new development snapshot 0~699.8a92e6f + * No user-friendly changelog at this stage + +------------------------------------------------------------------- +Thu Dec 6 09:35:42 UTC 2018 - Jan Engelhardt + +- Initial package for build.opensuse.org +- Add vers.diff diff --git a/libcamera.spec b/libcamera.spec new file mode 100644 index 0000000..bc90e9e --- /dev/null +++ b/libcamera.spec @@ -0,0 +1,215 @@ +# +# spec file for package libcamera +# +# Copyright (c) 2024 SUSE LLC +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + + +%define lname libcamera0_3 +%define lname_base libcamera-base0_3 +%if "@BUILD_FLAVOR@" != "" +%define extname -@BUILD_FLAVOR@ +%else +%define extname %nil +%endif +Name: libcamera%extname +Version: 0.3.2 +Release: 0 +Summary: A complex camera support library in C++ +License: GPL-2.0-or-later AND LGPL-2.1-or-later AND CC-BY-SA-4.0 +Group: Development/Libraries/C and C++ +URL: https://libcamera.org/ +#Git-Web: https://git.libcamera.org/libcamera/libcamera.git/ + +Source: libcamera-%version.tar.xz +Source1: baselibs.conf + +BuildRequires: boost-devel +BuildRequires: c++_compiler +%if 0%{?suse_version} <= 1500 +BuildRequires: gcc11 +BuildRequires: gcc11-c++ +%endif +BuildRequires: libQt5Core-devel +BuildRequires: libQt5Gui-devel +BuildRequires: libQt5Widgets-devel +BuildRequires: meson >= 0.56 +BuildRequires: pkg-config +BuildRequires: python3-Jinja2 +BuildRequires: python3-PyYAML +BuildRequires: python3-ply +BuildRequires: xz +BuildRequires: pkgconfig(glib-2.0) +BuildRequires: pkgconfig(gnutls) +BuildRequires: pkgconfig(gstreamer-video-1.0) +BuildRequires: pkgconfig(libevent_pthreads) +BuildRequires: pkgconfig(libtiff-4) +BuildRequires: pkgconfig(libudev) +BuildRequires: pkgconfig(openssl) +BuildRequires: pkgconfig(python3) +BuildRequires: pkgconfig(pybind11) +BuildRequires: pkgconfig(yaml-0.1) +%if "@BUILD_FLAVOR@" != "" +BuildRequires: pkgconfig(Qt6Core) +BuildRequires: pkgconfig(Qt6Gui) +BuildRequires: pkgconfig(Qt6OpenGL) +BuildRequires: pkgconfig(Qt6OpenGLWidgets) +BuildRequires: pkgconfig(Qt6Widgets) +BuildRequires: pkgconfig(sdl2) +%endif + +%description +libcamera is an experimental camera user-space API. + +A camera may consist of multiple sensors or function blocks, and can +expose multiple kernel device nodes in /dev for different stages of +the pipeline. The libcamera API groups and exposes these pieces as +what users consider one "camera". + +%package -n %lname +Summary: A complex camera support library in C++ +Group: System/Libraries + +%description -n %lname +libcamera is an experimental camera user-space API. + +A camera may consist of multiple sensors or function blocks, and can +expose multiple kernel device nodes in /dev for different stages of +the pipeline. The libcamera API groups and exposes these pieces as +what users consider one "camera". + +%package -n %lname_base +Summary: A complex camera support library in C++ +Group: System/Libraries + +%description -n %lname_base +libcamera is an experimental camera user-space API. + +A camera may consist of multiple sensors or function blocks, and can +expose multiple kernel device nodes in /dev for different stages of +the pipeline. The libcamera API groups and exposes these pieces as +what users consider one "camera". + +%package devel +Summary: Development for libcamera, a camera support library +Group: Development/Libraries/C and C++ +Requires: %lname = %version +Requires: %lname_base = %version + +%description devel +libcamera is an experimental camera user-space API. + +This subpackage contains the header files. + +%package tools +Summary: Command-line utilities from libcamera +Group: Development/Tools/Other + +%description tools +libcamera is an experimental camera user-space API. + +%package -n libcamera-cam +Summary: Command-line interfaces for libcamera +Group: Development/Tools/Other +# Heavy runtime deps (SDL, Qt6) + +%description -n libcamera-cam +libcamera is an experimental camera user-space API. + +"cam" is a command-line utility to interact with cameras. The initial state is +limited and only supports listing cameras in the system and selecting a camera +to interact with. + +%package -n gstreamer-plugins-libcamera +Summary: GStreamer plugins from libcamera +Group: Productivity/Multimedia/Other + +%description -n gstreamer-plugins-libcamera +libcamera is an experimental camera user-space API. +This is its integration plugin for gstreamer. + +%package -n python3-libcamera +Summary: Python bindings for libcamera +Group: Development/Languages/Python + +%description -n python3-libcamera +Python bindings for libcamera. + +%prep +%autosetup -p1 -n libcamera-%version + +%build +%if 0%{?suse_version} <= 1500 +export CC=gcc-11 +export CXX=g++-11 +%endif +%meson \ + -Ddocumentation=disabled \ +%if "@BUILD_FLAVOR@" != "" + -Dqcam=enabled \ +%else + -Dqcam=disabled \ +%endif + -Dv4l2=false -Dtracing=disabled \ + -Dpipelines=ipu3,rkisp1,simple,uvcvideo,vimc \ + -Dlc-compliance=disabled +%meson_build + +%install +%meson_install +pushd "%buildroot" +%if "@BUILD_FLAVOR@" != "" +find . ! -type d ! -path ./usr/bin/cam ! -path ./usr/bin/qcam -print -delete +%else +rm -v usr/bin/cam +%endif +popd + +%ldconfig_scriptlets -n %lname +%ldconfig_scriptlets -n %lname_base + +%if "@BUILD_FLAVOR@" == "" +%files -n %lname +%_libdir/libcamera.so.* + +%files -n %lname_base +%_libdir/libcamera-base.so.* + +%files devel +%license LICENSES/*GPL* +%_includedir/libcamera/ +%_libdir/libcamera-base.so +%_libdir/libcamera.so +%_libdir/pkgconfig/*.pc + +%files tools +%_libexecdir/libcamera/ +%_libdir/libcamera/ +%_datadir/libcamera/ + +%files -n gstreamer-plugins-libcamera +%_libdir/gstreamer-1.0/ + +%files -n python3-libcamera +%python3_sitearch/* + +%else + +%files -n libcamera-cam +%_bindir/cam +%_bindir/qcam + +%endif + +%changelog