Sync from SUSE:SLFO:Main libcamera revision f3f59b92874774064cceaf9a8c6705e0

This commit is contained in:
Adrian Schröter 2024-05-03 14:39:52 +02:00
commit bc83be4bd2
6 changed files with 432 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -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

14
_service Normal file
View File

@ -0,0 +1,14 @@
<services>
<service name="tar_scm" mode="manual">
<param name="scm">git</param>
<param name="url">https://git.libcamera.org/libcamera/libcamera.git</param>
<param name="revision">refs/tags/v0.2.0</param>
<param name="versionformat">@PARENT_TAG@</param>
<param name="versionrewrite-pattern">v([0-9\.]*)</param>
</service>
<service name="recompress" mode="manual">
<param name="file">*.tar</param>
<param name="compression">xz</param>
</service>
<service name="set_version" mode="manual"/>
</services>

2
baselibs.conf Normal file
View File

@ -0,0 +1,2 @@
libcamera0_2
libcamera-base0_2

BIN
libcamera-0.2.0.tar.xz (Stored with Git LFS) Normal file

Binary file not shown.

226
libcamera.changes Normal file
View File

@ -0,0 +1,226 @@
-------------------------------------------------------------------
Sat Jan 13 08:48:16 UTC 2024 - Jan Engelhardt <jengelh@inai.de>
- 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 <mliska@suse.cz>
- Disable warning in silent-Werror_dangling-reference.patch based
compiler version.
-------------------------------------------------------------------
Wed Mar 8 09:21:29 UTC 2023 - Martin Liška <mliska@suse.cz>
- 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 <info@paolostivanin.com>
- 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 <info@paolostivanin.com>
- 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 <bjorn.lie@gmail.com>
- 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 <sor.alexei@meowr.ru>
- Update to version 0.0.0+g3887.f1776100:
* No changelog available.
-------------------------------------------------------------------
Wed Jan 5 14:23:40 UTC 2022 - Alexei Sorokin <sor.alexei@meowr.ru>
- Update to version 0.0.0+g3381.1db1e31e:
* No changelog available.
-------------------------------------------------------------------
Wed Dec 29 11:35:57 UTC 2021 - Bjørn Lie <bjorn.lie@gmail.com>
- Add optional pkgconfig(libtiff-4) BuildRequires.
-------------------------------------------------------------------
Fri Oct 1 20:07:34 UTC 2021 - Jan Engelhardt <jengelh@inai.de>
- 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 <expeehaa@outlook.com>
- 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 <alarrosa@suse.com>
- 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 <mrueckert@suse.de>
- pipewire has baselibs, so we should have them here as well
-------------------------------------------------------------------
Fri Jul 23 16:39:41 UTC 2021 - Jan Engelhardt <jengelh@inai.de>
- Update to snapshot 0~2809 (e0704e97) [boo#1188650]
* cam: support using multiple cameras concurrently
-------------------------------------------------------------------
Wed May 5 07:01:02 UTC 2021 - Jan Engelhardt <jengelh@inai.de>
- Update to snapshot 0~2532 (093b71b2)
* No changelog available, understandably.
- Add -Wno-error
-------------------------------------------------------------------
Mon Nov 2 08:46:59 UTC 2020 - Guillaume GARDET <guillaume.gardet@opensuse.org>
- 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 <jengelh@inai.de>
- 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 <jengelh@inai.de>
- 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 <jengelh@inai.de>
- Initial package for build.opensuse.org
- Add vers.diff

164
libcamera.spec Normal file
View File

@ -0,0 +1,164 @@
#
# 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_2
%define lname_base libcamera-base0_2
Name: libcamera
Version: 0.2.0
Release: 0
Summary: A complex camera support library in C++
License: GPL-2.0-or-later AND LGPL-2.1-or-later
Group: Development/Libraries/C and C++
URL: https://libcamera.org/
#Git-Web: https://git.libcamera.org/libcamera/libcamera.git/
Source: %name-%version.tar.xz
Source1: baselibs.conf
BuildRequires: boost-devel
BuildRequires: c++_compiler
%if 0%{?suse_version} <= 1500
BuildRequires: gcc9
BuildRequires: gcc9-c++
%endif
BuildRequires: libQt5Core-devel
BuildRequires: libQt5Gui-devel
BuildRequires: libQt5Widgets-devel
BuildRequires: meson >= 0.56
BuildRequires: pkgconfig
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(yaml-0.1)
%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.
"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.
%prep
%autosetup -p1
%build
%if %{pkg_vcmp gcc < 8}
export CC=gcc-9
export CXX=g++-9
%endif
%meson \
-Ddocumentation=disabled \
-Dqcam=enabled \
-Dv4l2=false -Dtracing=disabled \
-Dpipelines=ipu3,rkisp1,simple,uvcvideo,vimc \
-Dlc-compliance=disabled
%meson_build
%install
%meson_install
%ldconfig_scriptlets -n %lname
%ldconfig_scriptlets -n %lname_base
%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
%_bindir/cam
%_bindir/qcam
%_libexecdir/libcamera/
%_libdir/libcamera/
%_datadir/libcamera/
%files -n gstreamer-plugins-libcamera
%_libdir/gstreamer-1.0/
%changelog