58 Commits

Author SHA1 Message Date
Markus Volk
cb417db7ab
libcamera: add workaround to fix build with gcc 16
libcamera fails if using gcc16 with -Werror=array-bounds=

Ignore this issue for now until it is properly fixed

Signed-off-by: Markus Volk <f_l_k@t-online.de>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-06-07 18:21:32 -07:00
Jose Quaresma
8b2c487173
libcamera: 0.7.0 -> 0.7.1
- Added PACKAGECONFIG for all available options, most of them introduced
in this version. This will make the package's outcome more deterministic.

This release brings 142 commits with the largest developments in the core of
libcamera components. Perhaps the most obvious is that we now use C++20 for the
project. The Configuration file handling has had a substantial rework with
updates to the yaml_parser.

The RKISP1 IPA has now added a new Hue control which brought with it a rework
of how we manage fixed point arithmetic with the Quantized class. I hope this
makes it easier to convey types with hardware operations.

The SoftISP has the ability to perform CPU debaying with multiple threads which
helps throughput on platforms such as the Arduino Uno Q.

The Mali-C55 pipeline handler now has full support for the RZG2LCRU and inline
handling which enables camera support on the Renesas RZ/V2H and RZ/V2NP
platforms.

And of interest in the apps components, the gstreamer plugin now has the
ability to select and configure the sensor mode configuration properties.
Finally a new script "libcamera-bug-report" is available to be packaged which
will help users identify issues when reporting bugs.

More on https://github.com/libcamera-org/libcamera/releases/tag/v0.7.1

Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-05-12 01:07:01 -07:00
Jose Quaresma
41ba8f83a4
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>
2026-05-12 01:07:01 -07:00
Jose Quaresma
a797983156
libcamera: change python config
The python3 can be removed from PACKAGECONFIG depends because
the python3native is already inherited.
Also rename the pycamera to python as this is more generic
and can be used to enable everything related to python.

Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-05-12 01:07:00 -07:00
Jose Quaresma
a9eece0195
libcamera: add new package for lc-compliance
lc-compliance is a libcamera compliance testing tool designed to ensure
that cameras and their drivers function correctly within the software stack,
acting as a functional system test to validate real-world use cases.
This tool helps detect regressions and verifies that the libcamera API
is being used correctly.

Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-05-12 01:07:00 -07:00
Jose Quaresma
5206553c8f
libcamera: add configs pipelines for testing
vimc:
Is a driver that emulates complex video hardware, and is
useful for testing libcamera without needing access to a physical
camera. We would like to add support to the libcamera vimc
pipeline handler for multiple simultaneous streams, to ease
testing of such mechanism. This also requires adding multistream
support to the vimc driver in the Linux kernel.

virtual:
Is a specialized handler designed to create software-based,
virtual camera devices. It allows for testing, debugging, and
simulating camera pipelines without needing physical hardware,
often producing test patterns (e.g., all green frames) via qcam.
This enables developers to emulate camera sensors and
Image Signal Processors (ISPs) within the libcamera

Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-05-12 01:07:00 -07:00
Weisser, Pascal
7402203910
libcamera: Add HOMEPAGE variable
Add HOMEPAGE variable to libcamera recipe.

Signed-off-by: Weisser, Pascal <pascal.weisser.ext@karlstorz.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2025-12-10 08:56:11 -08:00
Walter Werner SCHNEIDER
779faaa65d
libcamera: upgrade 0.5.2 -> 0.6.0
Signed-off-by: Walter Werner SCHNEIDER <contact@schnwalter.eu>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2025-12-08 12:00:20 -08:00
Hongxu Jia
56d351c260 libcamera: insane skip 32bit-time
$ echo 'MACHINE = "qemux86"' >> conf/local.conf
$ bitbake libcamera
...
WARNING: libcamera-1_0.5.2-r0 do_package_qa: QA Issue: /usr/lib/libcamera.so.0.5.2 uses 32-bit api 'sendmsg' [32bit-time]
WARNING: libcamera-1_0.5.2-r0 do_package_qa: QA Issue: /usr/lib/libcamera.so.0.5.2 uses 32-bit api 'clock_gettime' [32bit-time]
WARNING: libcamera-1_0.5.2-r0 do_package_qa: QA Issue: /usr/lib/libcamera.so.0.5.2 uses 32-bit api 'ioctl' [32bit-time]
WARNING: libcamera-1_0.5.2-r0 do_package_qa: QA Issue: /usr/lib/libcamera.so.0.5.2 uses 32-bit api 'recvmsg' [32bit-time]
WARNING: libcamera-1_0.5.2-r0 do_package_qa: QA Issue: /usr/lib/libcamera.so.0.5.2 uses 32-bit api 'stat64' [32bit-time]
WARNING: libcamera-1_0.5.2-r0 do_package_qa: QA Issue: /usr/lib/libcamera.so.0.5.2 uses 32-bit api 'fstat64' [32bit-time]
WARNING: libcamera-1_0.5.2-r0 do_package_qa: QA Issue: Suppress with INSANE_SKIP = "32bit-time" [32bit-time]
...

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2025-10-28 23:31:29 -07:00
Khem Raj
4026e1aca8 libcamera: Detect platform/toolchain defaults for C++ library
This ensures that meson does not detect it and automatically link to it
when using clang with gnu runtime

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2025-10-24 17:11:36 -07:00
Gyorgy Sarvari
f4b9dfa0c9
libcamera: upgrade 0.4.0 -> 0.5.2
Dropped 0001-media_device-Add-bool-return-type-to-unlock.patch, because
the issue has been solved by upstream.

Dropped 0002-libcamera-Add-missing-stdint.h-include-to-dma_buf_al.patch,
because it is included in this release.

Added a new PACKAGECONFIG called "raspberrypi" - this is taken from
the meta-raspberrypi layer, however using it still requires that layer,
as using it requires a dependency that is provided by that layer.

The recipe until now built support for all platforms that matched the selected
architecture (e.g. mali, rpi imx8 when the archi is arm). However rpi-specific
options now require a an extra dependency that's not in meta-oe, so only build
rpi-support when raspberrypi PACKAGECONFIG is enabled.

Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2025-09-16 12:09:11 -07:00
Alexander Kanavin
fc78d37ff0
meta-openembedded/all: adapt to UNPACKDIR changes
Please see
https://git.yoctoproject.org/poky/commit/?id=4dd321f8b83afecd962393101b2a6861275b5265
for what changes are needed, and sed commands that can be used to make them en masse.

I've verified that bitbake -c patch world works with these, but did not run a world
build; the majority of recipes shouldn't need further fixups, but if there are
some that still fall out, they can be fixed in followups.

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2025-06-25 06:44:52 -07:00
tho3.nguyen
65f0ffec50
libcamera: Fix build with gcc-15
Backport patch to fix the following error:
...
In file included from ../git/src/libcamera/dma_buf_allocator.cpp:9:
../git/include/libcamera/internal/dma_buf_allocator.h:66:19: error: 'uint64_t' has not been declared
   66 |         void sync(uint64_t step);
      |                   ^~~~~~~~
../git/include/libcamera/internal/dma_buf_allocator.h:17:1: note: 'uint64_t' is defined in header '<cstdint>'; this is probably fixable by adding '#include <cstdint>'
...

Signed-off-by: tho3.nguyen <tho3.nguyen@lge.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2025-03-28 10:28:13 -07:00
Koen Kooi
d9c5ae5c03
libcamera: add support for DNG files
The 'cam' app in libcamera will turn on DNG support if it finds libtiff,
but it has no way to explicitly disable it. Add a 'dng' PACKAGECONFIG to
reliably enable it, disabling it will take more effort when using
gstreamer.

Signed-off-by: Koen Kooi <koen.kooi@oss.qualcomm.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2025-03-18 13:53:08 -07:00
Alexander Stein
dfa40e1f4e
libcamera: update to 0.4.0
Upgrade libcamera to version 0.4.0, gaining support for ARM Mali-C55 ISP.

Patches 0002-options-Replace-use-of-VLAs-in-C.patch and
0001-rpi-Use-malloc-instead-of-variable-length-arrays.patch are obsolete.
Issues have been fixed upstream (differently).

Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2025-01-08 08:02:10 -08:00
Hubert Wiśniewski
4642c541c4
libcamera: Use multiple of sizeof as malloc size
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2024-08-10 15:57:57 -07:00
Kieran Bingham
953000215e
libcamera: Add support for pycamera
Supply a libcamera-pycamera package to allow installing the libcamera
python bindings.

Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2024-08-09 14:25:26 -07:00
Dmitry Baryshkov
91054de777
libcamera: update to 0.3.0
Upgrade libcamera to version 0.3.0, gaining support for SoftISP.

Patch 0001-ipu3-Use-posix-basename.patch is dropped, it is applied
upstream.

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2024-06-04 23:49:47 -07:00
Khem Raj
742c3da874
libcamera: Fix build on musl systems
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2024-03-24 11:36:17 -07:00
Khem Raj
c17d8d9de4 libcamera: Fix clang support patches
Replace alloca with malloc

Allocate size for struct option array was not correct therefore
multiply the value with sizeof(struct option) to account for it

[YOCTO #15449 ]

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2024-03-22 23:57:40 -07:00
Khem Raj
1f1a607970
libcamera: Replace VLAs with alloca
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2024-02-21 19:59:51 -08:00
Khem Raj
2aaf6b75a9
libcamera: Fix build with clang-18
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2024-01-31 21:11:26 -08:00
Denys Dmytriyenko
711c6fbce3
libcamera: update 0.1.0 -> 0.2.0
Changelog:
https://git.libcamera.org/libcamera/libcamera.git/tag/?h=v0.2.0

Signed-off-by: Denys Dmytriyenko <denys@konsulko.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2024-01-27 09:48:32 -08:00
Khem Raj
7d8115d550
libcamera: Fix build with python 3.12
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-12-30 11:06:30 -08:00
Khem Raj
c6c636e320
Revert "libcamera: skip until upstream resolves python 3.12 compatibility"
This reverts commit dd402176a6e28df76e4b737cec7d266b5bfbfa06.
2023-12-30 11:06:30 -08:00
Alexander Kanavin
dd402176a6
libcamera: skip until upstream resolves python 3.12 compatibility
I'd note that imp module has been deprecated for years, so that's what
happens when deprecation warnings are ignored.

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-12-18 22:17:22 -08:00
Tom Hochstein
fe3a2def88 libcamera: Avoid build break in signature recalculation
The signature recalculation task can fail:
```
/.../build/tmp/work/armv8a-poky-linux/libcamera/1_0.0.4-r0/temp/run.do_recalculate_ipa_signatures_package.937421: line 154: /.../build/tmp/work/armv8a-poky-linux/libcamera/1_0.0.4-r0/git/src/ipa/ipa-sign-install.sh: No such file or directory
```

This happens whenever ${S} is removed and packages are retrieved from
sstate cache.

Instead of trying to fix the task, avoid the issue altogether by
performing the signature recalculation directly in do_package.

Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
Acked-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-10-04 13:08:40 -07:00
Vivien Didelot
90c027da29 libcamera: bump to latest master
Bump libcamera to latest master, as commit a2eadc40a introduces
flicker controls for rpi which are required in latest libcamera-apps.

Signed-off-by: Vivien Didelot <vivien.didelot@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-08-02 22:57:25 -07:00
Markus Volk
4e02817972 libcamera: update 0.0.5 -> 0.1.0
libcamera v0.1.0

ABI Compliance:

abi-compliance-checker reports 99% binary compatibility and 81.4% source
compatibilty between version 0.0.5 and 0.1.

 - Binary compatibility: 99%
 - Source compatibility: 81.4%
 - Total binary compatibility problems: 4, warnings: 2
 - Total source compatibility problems: 165, warnings: 7

Now that we have funtional ABI validation, the soname has been updated from
libcamera.so.0.0.5 to libcamera.so.0.1.

Future releases will now maintain the same soname until an ABI breakage is
detected to reduce the repackaging and rebuilding of other components that may
use libcamera. The abi-compatibility report can now be generated with the new
utility './utils/abi-compat.sh'.

Key differences here are due to preventing the installation of internal and
private headers in the packaging process, and most of this API compatibility
should not be visible to applications with the exception of:

- Camera::generateConfiguration ( StreamRoles const& roles )

  The StreamRoles type definition has been removed. This is now handled as a
  Span<StreamRole> to prevent unnecessary allocations and copies.

- CameraManager::addCamera ( std::shared_ptr<struct Camera> camera, std::vector<unsigned long>const& devnums )
- CameraManager::get ( dev_t devnum )
- CameraManager::removeCamera ( std::shared_ptr<struct Camera> camera )

  These functions of the CameraManager were for use exclusively by the V4L2
  adaptation layer, and not intended for use by applications. This has now been
  reworked to use the new SystemDevices and the redundant functions removed.

The ABI/API breakages have been introduced by:

  5ca0c9276f28 ("libcamera: CameraManager: Remove ::get(dev_t)")
  26a4b83d1b94 ("libcamera: Remove `StreamRoles` alias")
  63966ae587d7 ("libcamera: base: Do not install private headers")

Core:
 - libcamera: v4l2_videodevice: Use O_CLOEXEC when exporting DMA buffers
 - libcamera: ipa_manager: Allow IPA loading in nested subdirs
 - meson: Fix usage of overwritten pipeline variable
 - subprojects: Drop leftovers of pybind11
 - camera_sensor: ipa: core: Add CFA pattern to IPACameraSensorInfo
 - libcamera: controls: Define a default lens position behaviour
 - libcamera: internal: request: convert to pragma once
 - libcamera: camera_manager: Move private implementation to internal
 - libcamera: camera_manager: Move {add,remove}Camera to internal
 - libcamera: properties: Provide a Devices camera property
 - libcamera: pipeline: Register device numbers with camera
 - libcamera: camera_sensor: Adjust properties::Rotation
 - libcamera: meson: Allow PH to change libcamera_deps
 - libcamera: base: Move thread_annotations to private
 - libcamera: base: Do not install private headers
 - utils: ABI Compatibility checker
 - meson: Use x.y soname versioning
 - libcamera: camera: Take span of StreamRole instead of vector
 - libcamera: Remove `StreamRoles` alias
 - utils: ipu3-capture.sh: Fix the script to work with recent media-ctl versions
 - Documentation: Add predefined macros from config.h to Doxyfile
 - utils: checkstyle: Add __repr__ method to CommitFile class
 - utils: checkstyle: Support running checkers selectively
 - utils: checkstyle: Don't include commit ID in commit title
 - utils: checkstyle: Add trailers checker
 - tests: gstreamer: Test cameras' enumeration from GstDeviceProvider
 - meson: Fix space around colon issues
 - libcamera: Add option to configure udev support
 - libcamera: CameraManager: Remove ::get(dev_t)
 - tests: gstreamer: Fix compiler error with gcc 8.4.0

ipa:
 - meson: ipa: Add mapping for pipeline handler to mojom interface file
 - libcamera: ipa: Remove character restriction on the IPA name
 - ipa: meson: Allow nested IPA directory structures
 - ipa: raspberrypi: Introduce IpaBase class
 - ipa: raspberrypi: agc: Move weights out of AGC
 - ipa: rkisp1: agc: drop hard-coded analogue gain range
 - libipa: camera_sensor_helper: Add IMX327 helper
 - pipeline: rpi: ipa_base: Parse config files after platformRegister()
 - libcamera: camera_sensor: Add Sony IMX327 sensor properties
 - ipa: rpi: imx296: Small refinements to the IMX296 mono sensor tuning
 - ipa: rpi: Handle controls for mono variant sensors
 - libcamera: controls: Drop reference to IPA in controls documentation
 - libipa: camera_sensor_helper: Restore alphabetical order
 - ipa: ipu3: agc: Drop hard-codec analogue gain max
 - ipa: rkisp1: agc: Restore minimum analogue gain limit
 - pipeline: ipa: rpi: Return lens controls from ipa->configure()
 - ipa: rpi: Set lens position to hyperfocal on startup
 - ipa: rpi: tunings: Add missing short and long exposure profiles
 - ipa: rpi: agc: Use std::string instead of char arrays
 - ipa: rpi: agc: Gracefully handle missing agc modes
 - ipa: rpi: agc: Do not switch to a default if a mode is unavailable
 - ipa: rpi: imx708: Fix mode switch drop frame count
 - ipa: rpi: imx296_mono: Disable all colour shading

pipeline:
 - libcamera: pipeline: simple: Add support for ST's DCMIPP
 - pipeline: meson: Allow nested pipeline handler directory structures
 - pipeline: ipa: raspberrypi: Refactor and move the Raspberry Pi code
 - pipeline: raspberrypi: rpi_stream: Set invalid buffer to id == 0
 - pipeline: ipa: raspberrypi: Restructure the IPA mojom interface
 - pipeline: raspberrypi: Make RPi::Stream::name() return const std::string &
 - pipeline: raspberrypi: Introduce PipelineHandlerBase class
 - pipeline: raspberrypi: Add stream flags to RPi::Stream
 - libcamera: rkisp1: Generate config using main path
 - libcamera: rkisp1: Crop on ISP before downscaling
 - libcamera: rkisp1: Assign sizes to roles
 - libcamera: rkisp1: Fix enumeration of RAW formats
 - pipeline: rpi: Do not return an error from pipeline config file handling
 - libcamera: pipeline: simple: Support TI CSI-RX
 - pipeline: rpi: Account for Bayer packing when validating format

apps:
 - apps: qcam: Remove redundant check
 - v4l2: Move the v4l2 compat layer to libexec/libcamera
 - android: mm: generic: use GRALLOC_HARDWARE_MODULE_ID
 - android: mm: Stub libhardware for build tests
 - py: Fix CameraManager.version property
 - py: Move ColorSpace and Transform classes to separate files
 - py: Use exceptions instead of returning error codes
 - py: unittests.py: Add weakref helpers and use del
 - py: Move to mainline pybind11 version
 - py: Fix code formatting
 - py: unittests.py: Fix type checker warnings
 - gstreamer: Add enable_auto_focus option to the GStreamer plugin
 - gstreamer: Drop libcamera_private dependency
 - apps: Add ipa-verify application
 - v4l2: v4l2_camera_proxy: Prevent ioctl sign-extensions
 - v4l2: Use SystemDevices properties to identify cameras

Signed-off-by: Markus Volk <f_l_k@t-online.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-07-23 16:36:14 -07:00
Alexander Stein
d369384399 libcamera: Simplify pipeline configuration
Default to 'auto' which enables all target architecture pipelines (+UVC).
IPAs are also automatically enabled if the corresponding required pipeline
is enabled as well.

Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-05-24 07:23:54 -07:00
Alexander Stein
a934982589 libcamera: Allow overwriting default pipelines and IPA
By default only uvcvideo, simple and vimc pipelines as well as vimc IPA
are built. Add new variables for enabling a custom set of enabled
pipelines and IPAs.

Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-05-17 17:43:13 -07:00
Markus Volk
50601e60f7 libcamera: update 0.0.4 -> 0.0.5
libcamera v0.0.5

Bugfixes:
- meson: Ignore -Wredundant-move with gcc-13 and newer
- cam: file_sink: Workaround gcc-13 dangling-reference false positive
- libcamera: Open files with O_CLOEXEC
- meson: Fix git version parsing
- libcamera: camera_manager: Stop exponential explosive calls to createPipelineHandlers
- py: cam: Fix demosaic overflow issue
- libcamera: base: Make the registration of log categories atomic

Core:
- test: controls: control_info_map: Test default constructor
- controls: guard ControlInfoMap against nullptr idmap_
- device_enumerator_udev: Use std::string_view
- formats: Add 14-bits Bayer RAW formats
- device_enumerator_udev: Remove devnum from dependency map
- meson: libcamera: Report IPA signature method
- meson: Align handling of build metadata
- converter: Check converter validity
- Keep using syslog for isolated IPA modules
- utils: ipc: Update parser.py
- utils: checkstyle.py: Don't run commit title checker on staged commits
- framebuffer: Allow inheritance of FrameBuffer
- Remove transform from V4L2SubdeviceFormat
- libcamera: camera_sensor: Add tryFormat()
- camera_sensor: Fix typo in comment
- camera_sensor: Demote flip support message to Debug
- internal: tracepoints: Use correct include directive
- libcamera: camera: Ensure queued requests are invalid

ipa:
- doc: Clarify IPA acronym in its namespace description
- rkisp1: Add tuning files for PinephonePro sensors
- rkisp1: Add tuning files for Google DRU "Scarlet" sensors
- rkisp1: lsc: Fix integer division error
- libipa: Add OV2685 Camera Sensor Helper
- libipa: Add OV5647 Camera Sensor Helper
- raspberrypi: agc: Add "shadows" constraint mode
- raspberrypi: generalise algorithms
- raspberrypi: Fix default frame durations calculation
- raspberrypi: Ensure shutter speed and gain are clipped in the AGC
- raspberrypi: Use the new sensor limits fields in CameraMode
- raspberrypi: Add sensor mode limits to CameraMode
- raspberrypi: Fix crash under LTO
- raspberrypi: imx296: Minor tuning updates
- raspberrypi: agc: Fix overflow in Y value calculation
- raspberrypi: Better heuristics for calculating Unicam timeout
- raspberrypi: Generalise statistics
- raspberrypi: Change Unicam timeout handling

pipeline:
- simple: Validate transform
- imx8-isi: Remove mbusCode from formatsMap_
- imx8-isi: Automatically select media bus code
- imx8-isi: Split Bayer/YUV config generation
- imx8-isi: Break out RAW/YUV format selection
- raspberrypi: Iterate over all Unicam instances in match()
- raspberrypi: Add a Unicam timeout override config options
- raspberrypi: Always use ColorSpace::Raw for raw streams
- raspberrypi: Drop unused code
- ipu3: Drop unused code

apps:
 - cam: kms_sink: Drop unique_ptr<> from DRM::AtomicRequest
 - cam Return std::optional<> from StreamKeyValueParser::parseRole()
 - android: jpeg: Add JEA implementation

ABI Compliance:

 * abi-compliance-checker reports 98.6% ABI and 100% API compatibility with
   with v0.0.4

  Total binary compatibility problems: 1, warnings: 1
  Total source compatibility problems: 0, warnings: 0

 - First virtual method ~__dt ( ) has been added to this class.
   1) The layout of type structure has been shifted by 8 bytes by the added v-table pointer.
   2) Size of class has been increased by 8 bytes.

affected symbols: 6 (1.4%)
  FrameBuffer::releaseFence ( )
  FrameBuffer::setCookie ( uint64_t cookie )
  FrameBuffer::cookie ( )
  FrameBuffer::planes ( )
  FrameBuffer::request ( )
  FrameBuffer::metadata ( )

This ABI breakage was introduced by:
  4843bfa ("libcamera: framebuffer: Allow inheritance of FrameBuffer")

Signed-off-by: Markus Volk <f_l_k@t-online.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-05-15 22:51:10 -07:00
Markus Volk
17180ae0d2 libcamera: re-introduce fix for gcc-13
Signed-off-by: Markus Volk <f_L_K@t-online.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-04-01 08:55:06 -07:00
Markus Volk
2b1ac94dd2 libcamera: update 0.0.1 -> 0.0.4
Signed-off-by: Markus Volk <f_l_k@t-online.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-03-25 16:43:34 -07:00
Khem Raj
d8381620cd libcamera: Fix build with gcc-13
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-01-25 08:57:42 -08:00
Khem Raj
a92b6685b6 libcamera: Diable 64bit time_t on glibc targets
it overrides some of LFS64 functions in peculiar ways that it has to
undefine _FILE_OFFSET_BITS to silence the funtion definitions from glibc

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-01-01 21:09:02 -08:00
Markus Volk
1032bce778 libcamera: upgrade -> 0.0.1
libcamera has recently received its first release.
Note: meta-raspberrypi needs to adjust the name of libcamera.bbappend

Signed-off-by: Markus Volk <f_l_k@t-online.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2022-10-22 16:01:22 -07:00
Devendra Tewari
5c59497531 libcamera: Remove boost from DEPENDS
Signed-off-by: Devendra Tewari <devendra.tewari@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2022-10-09 20:07:29 -07:00
Devendra Tewari
9ab32b214b libcamera: Bump SRCREV and add libyaml to DEPENDS
Signed-off-by: Devendra Tewari <devendra.tewari@gmail.com>
2022-10-04 09:29:47 -07:00
Julien STEPHAN
3de996474e libcamera: fix packaging
libcamera.so.0 and libcamera-base.so.0 are packaged in ${PN}-dev although
they should be packaged in ${PN}. See poky/meta/conf/bitbake.conf.
This trigger the following error when trying to run the `cam` utility
(packaged inside ${PN}):

$ cam -l
cam: error while loading shared libraries: libcamera.so.0: cannot open shared object file: No such file or directory

$ read-elf -d /usr/bin/cam
Dynamic section at offset 0x2c740 contains 37 entries:
  Tag        Type                         Name/Value
 0x0000000000000001 (NEEDED)             Shared library: [libcamera.so.0]
 0x0000000000000001 (NEEDED)             Shared library: [libcamera-base.so.0]
[...]

So package libcamera is broken and need to be installed along with
libcamera-dev to be functionnal. Fix it by packaging libcamera.so.0 and
libcamera-base.so.0 into ${PN}

Signed-off-by: Julien STEPHAN <jstephan@baylibre.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2022-05-12 09:16:11 -07:00
Khem Raj
4b50fb02cc recipes: Update LICENSE variable to use SPDX license identifiers
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2022-03-04 17:41:45 -08:00
Khem Raj
e6e72ed4c4 Revert "libcamera: add pkg-config files"
This reverts commit 606eaedc8cb3eef1010f25679569d48c2681758f.
2022-02-23 09:25:19 -08:00
Devendra Tewari
606eaedc8c libcamera: add pkg-config files
Signed-off-by: Devendra Tewari <devendra.tewari@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2022-02-22 08:30:51 -08:00
Peter Griffin
ea6d967dbe libcamera: update meson options to build pipeline handlers & cam utility
Enable uvcvideo, simple, and vimc pipeline handlers in libcamera. Without
any pipeline handlers libcamera can't capture any frames.

Also enable cam utility with is a cli utility that can use the library to
capture some frames.

Signed-off-by: Peter Griffin <peter.griffin@linaro.org>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2022-02-03 08:44:32 -08:00
Mauro Anjo
b450b0bb82 libcamera: Update to latest commit
Drop patch for musl/aarch64 and bump source commit to latest version that
has the patch applied.

Signed-off-by: Mauro Anjo <maurosanjo@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2021-12-08 11:12:23 -08:00
Khem Raj
2609687905 libcamera: Fix build break on musl
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2021-12-01 12:39:28 -08:00
Mauro Anjo
6950f12060 Upgrade libcamera
Upgrades libcamera to latest commit, now libcamera.so is a symlink so
made changes to include all created symlinks.

Signed-off-by: Mauro Anjo <maurosanjo@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2021-12-01 12:39:28 -08:00
Richard Purdie
b402a3076f recipes: Update SRC_URI branch and protocols
This patch updates SRC_URIs using git to include branch=master if no branch is set
and also to use protocol=https for github urls as generated by the conversion script
in OE-Core.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2021-11-03 06:57:49 -07:00
Martin Jansa
c61dc077bb Convert to new override syntax
This is the result of automated script (0.9.1) 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-03 10:21:25 -07:00
Khem Raj
71dd824d25 libcamera: Update to latest master tip
Drop upstreamed patch
jinja2.Environment.compile_templates no longer accepts py_compile
argument so delete it

Fixes
TypeError: compile_templates() got an unexpected keyword argument 'py_compile'

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Cc: Andreas Müller <schnitzeltony@gmail.com>
2021-05-17 09:00:36 -07:00