libcamera v0.5.1
Kieran Bingham
kieran.bingham at ideasonboard.com
Mon Jun 2 15:09:25 CEST 2025
Quoting Milan Zamazal (2025-06-02 10:50:08)
> Hi Kieran,
>
> Kieran Bingham <kieran.bingham at ideasonboard.com> writes:
>
> > Hello all,
> >
> > I'm pleased to share that libcamera v0.5.1 "Nice" has been released,
> > tagged and pushed.
> >
> > Archives are available from:
> > - https://gitlab.freedesktop.org/camera/libcamera/-/releases/v0.5.1
>
> Really? I can see only 0.5.0 there.
Eeek - I'm sorry - I missed a step. I've updated it and made sure it's
there now.
Sorry for the delay.
--
Kieran
>
> > ## ABI Compliance
> >
> > The abi-compliance checker reports 100% compatibility in this release.
> > As such the SONAME is maintained at 0.5.
> >
> > Binary compatibility: 100%
> > Source compatibility: 100%
> > Total binary compatibility problems: 0, warnings: 0
> > Total source compatibility problems: 0, warnings: 0
> >
> > ## Release Summary
> >
> > This release brings 93 commits with a large proportion of fixes and
> > cleanup againt earlier releases. Improvements have been made to the
> > Raspberry Pi Camera Tuning Tools, and the geometry, matrix and vector
> > class helpers have been expanded for greater reuse throughout the
> > project.
> >
> > Notably for packagers - IPA modules now have their own subdirectory
> > which should prevent undesirable surrupticious error messages that would
> > occur if packagers choose to install the V4L2 adaptation layer in the
> > same folder as the IPA modules. Furthermore - Isolated IPA modules will
> > now report any errors on stderr allowing IPA crashes to be more easily
> > identified.
> >
> > The RKISP1 can now adapt to more complex input pipelines, including FPGAs and
> > multiplexors, which has been beneficial for users on the i.MX8MP, and the
> > IPA algorithms for i.MX8MP and RKISP1 continue to get improvements.
> >
> > The software ISP has a new Saturation control (available when the CCM is
> > enabled).
> >
> > The Documentation and pipeline handler writers guide has been re-reviewed and
> > cleaned up.
> >
> > On the application and test side, lc-compliance now includes multi-stream
> > tests, and cam has extended support for display formats and now prevents issues
> > on non-display GPUs when rendering direct to DRM.
> >
> > ## Contributors
> >
> > 36 Barnabás Pőcze <barnabas.pocze at ideasonboard.com>
> > 15 Stefan Klug <stefan.klug at ideasonboard.com>
> > 5 David Plowman <david.plowman at raspberrypi.com>
> > 5 Kieran Bingham <kieran.bingham at ideasonboard.com>
> > 5 Laurent Pinchart <laurent.pinchart at ideasonboard.com>
> > 4 Milan Zamazal <mzamazal at redhat.com>
> > 4 Quentin Schulz <quentin.schulz at cherry.de>
> > 3 Daniel Scally <dan.scally at ideasonboard.com>
> > 3 Paul Elder <paul.elder at ideasonboard.com>
> > 2 Hou Qi <qi.hou at nxp.com>
> > 2 Julien Vuillaumier <julien.vuillaumier at nxp.com>
> > 2 Naushir Patuck <naush at raspberrypi.com>
> > 2 Niklas Söderlund <niklas.soderlund at ragnatech.se>
> > 2 Pavel Machek <pavel at ucw.cz>
> > 1 Benjamin Mugnier <benjamin.mugnier at foss.st.com>
> > 1 Nícolas F. R. A. Prado <nfraprado at collabora.com>
> > 1 Sven Püschel <s.pueschel at pengutronix.de>
> >
> > 108 files changed, 3359 insertions(+), 528 deletions(-)
> >
> > ## Integration overview
> >
> > The following commits in this release relate to either a bug fix or an
> > improvement to an existing commit.
> >
> > - meson: Do not automatically build documentation if sphinx-build-3 is found
> > - Fixes: aba567338b25 ("Documentation: Move all dependencies into features")
> > - Revert "libcamera: rkisp1: Eliminate hard-coded resizer limits"
> > - Fixes: 761545407c76 ("pipeline: rkisp1: Filter out sensor sizes not supported by the pipeline")
> > - pipeline: rkisp1: Fix vblank delay
> > - Fixes: f72c76eb6e06 ("rkisp1: Honor the FrameDurationLimits control")
> > - utils: raspberrypi: ctt: Fix NaNs in lens shading tables
> > - Bug: https://github.com/raspberrypi/libcamera/issues/254
> > - utils: raspberrypi: ctt: Fix NaNs in chromatic aberration tables
> > - Bug: https://github.com/raspberrypi/libcamera/issues/254
> > - utils: raspberrypi: ctt: Fix integer division error calculating LSC cell size
> > - Bug: https://github.com/raspberrypi/libcamera/issues/260
> > - apps: qcam: Push the viewfinder role to vector
> > - Fixes: ee2b011b65c6 ("apps: cam: Try raw role if default viewfinder role fails")
> > - ipa: Move IPA installations to a subdir
> > - Bug: https://bugs.libcamera.org/show_bug.cgi?id=268
> > - ipa: rkisp1: algorithms: awb: Fix wrong colour temperature reporting
> > - Fixes: b60bd37b1a49 ("ipa: rkisp1: Move calculation of RGB means into own function")
> > - ipa: rkisp1: ccm/lsc: Fix CCM/LSC based on manual color temperature
> > - Fixes: 02308809548d ("ipa: rkisp1: awb: Implement ColourTemperature control")
> > - libcamera: controls: Fix `ControlInfoMap::count(unsigned int)`
> > - Fixes: 76b9923e55fd61 ("libcamera: controls: Avoid exception in ControlInfoMap count() and find()")
> > - apps: cam: capture_script: Disallow arrays of strings
> > - Fixes: b35f04b3c194 ("cam: capture_script: Support parsing array controls")
> > - libcamera: matrix: Fix compilation error in inverse() function
> > - Fixes: 6287ceff5aba ("libcamera: matrix: Add inverse() function")
> > - ipa: rpi: controller: rpi: Fix colour gain typo in AGC
> > - Fixes: 29892f1c56c6 ("ipa: libipa: colour: Use the RGB class to model RGB values")
> >
> > And the following updates have been made in this release, grouped by category:
> >
> > core:
> > - meson: Make the default value of "documentation" feature explicit
> > - meson: Do not automatically build documentation if sphinx-build-3 is found
> > - libcamera: request: Avoid double map lookup
> > - utils: rkisp1: gen-csc-table: Support printing CCM in decimal
> > - libcamera: ipa_module: Avoid unnecessary copy when getting signature
> > - libcamera: controls: Disallow arrays of arrays
> > - libcamera: media_device: Add helper to return matching entities
> > - libcamera: internal: Add MediaPipeline helper
> > - libcamera: stream: Add color space to configuration string representation
> > - README.rst: remove unnecessary dependency for qcam
> > - libcamera: v4l2_videodevice: Log buffer count on allocation error
> > - libcamera: matrix: Replace SFINAE with static_asserts
> > - libcamera: matrix: Make most functions constexpr
> > - libcamera: matrix: Add a Span based constructor
> > - libcamera: vector: Add a Span based constructor
> > - libcamera: matrix: Add inverse() function
> > - libcamera: matrix: Extend multiplication operator to heterogenous types
> > - libcamera: vector: Extend matrix multiplication operator to heterogenous types
> > - libcamera: controls: Fix `ControlInfoMap::count(unsigned int)`
> > - utils: codegen: Make users depend on `controls.py` in meson
> > - libcamera: matrix: Fix compilation error in inverse() function
> > - libcamera: sensor: Fix the gain delay for IMX283
> > - treewide: Do not use `*NameValueMap` for known values
> > - utils: codegen: ipc: Use `any()` instead of `len([]) > 0`
> > - utils: codegen: ipc: Remove `namespace` argument
> > - utils: codegen: ipc: Add `deserializer()` function
> > - utils: codegen: ipc: Log error code when remote call fails
> > - utils: codegen: ipc: Simplify `return` statements
> > - libcamera: ipa_data_serializer: Remove some vector `reserve()` calls
> > - libcamera: mali-c55: Remove tpgCodes_
> > - libcamera: mali-c55: Remove tpgSizes_ member from MaliC55CameraData
> > - libcamera: process: Use _exit in child process
> > - libcamera: process: Pass stderr and reserve stdin and stdout fds
> > - guides: pipeline-handler: Update name of pipeline handler stop function
> > - libcamera: mali-c55: Fix error paths in ::init()
> >
> > pipeline:
> > - libcamera: software_isp: Add a clarification comment to AWB
> > - libcamera: pipeline: uvcvideo: Expose `Gamma` control
> > - libcamera: software_isp: Fix CCM multiplication
> > - libcamera: pipeline: virtual: Fix typo in log message
> > - libcamera: pipeline: imx8-isi: Remove unused variable
> > - pipeline: rkisp1: Fix vblank delay
> > - libcamera: pipeline: rkisp1: Convert to use MediaPipeline
> > - libcamera: pipeline: uvcvideo: Report new AeEnable control as available
> > - ipu3: cio2: Remove unused function definition
> > - libcamera: software_isp: Add saturation control
> > - Revert "libcamera: rkisp1: Eliminate hard-coded resizer limits"
> >
> > apps:
> > - apps: lc-compliance: Support multiple streams in helpers
> > - apps: lc-compliance: Add multi-stream tests
> > - apps: cam: capture_script: Simplify bool array parsing
> > - gstreamer: Fixate colorimetry field during caps negotiation
> > - apps: cam: Try raw role if default viewfinder role fails
> > - apps: qcam: Push the viewfinder role to vector
> > - py: Set `PYTHONPATH` in devenv
> > - apps: cam: sdl_texture: Take list of buffers in span
> > - apps: cam: sdl_texture: Drop `&rect_` from `SDL_Update{NV,}Texture()` call
> > - apps: cam: sdl_texture: Add `SDLTexture1Plane`
> > - apps: cam: sdl_sink: Support more single-plane formats
> > - gstreamer: Add GstVideoMeta support
> > - apps: cam: capture_script: Disallow arrays of strings
> > - apps: cam: Skip non-display GPUs
> >
> > ipa:
> > - utils: ipc: Do not duplicate signals in proxy object
> > - utils: ipc: Do not define variables in signal handler up front
> > - ipa: rpi: common: Avoid warnings when AeEnable control is used
> > - ipa: rpi: awb: Remove "fast" parameter
> > - ipa: Move IPA installations to a subdir
> > - ipa: rkisp1: awb: Declare ControlInfo in AWB
> > - ipa: rkisp1: awb: Ignore empty AWB statistics
> > - ipa: rkisp1: Refactor automatic/manual structure in IPAActiveState
> > - ipa: rkisp1: algorithms: awb: Fix wrong colour temperature reporting
> > - ipa: rkisp1: ccm/lsc: Fix CCM/LSC based on manual color temperature
> > - ipa: rkisp1: Implement manual ColourCorrectionMatrix control
> > - libipa: awb: Make result of gainsFromColourTemp optional
> > - ipa: rkisp1: Damp color temperature regulation
> > - ipa: rkisp1: awb: Take the CCM into account for the AWB gains calculation
> > - ipa: rkisp1: awb: Avoid division by zero
> > - ipa: rpi: controller: rpi: Fix colour gain typo in AGC
> > - ipa: rpi: Add tuning for IMX283
> > - ipa: rpi: Prevent segfault if AGC algorithm is absent
> >
> > tuning:
> > - utils: raspberrypi: ctt: Fix NaNs in lens shading tables
> > - utils: raspberrypi: ctt: Fix NaNs in chromatic aberration tables
> > - utils: raspberrypi: ctt: Fix integer division error calculating LSC cell size
> >
> > documentation:
> > - Documentation: guides: pipeline-handler: Fix camera creation
> > - Documentation: guides: pipeline-handler: Fix property list file name
> > - Documentation: guides: pipeline-handler: Fix configuration creation
> > - Documentation: guides: pipeline-handler: Fix `Camera::create()` link
> > - Documentation: guides: pipeline-handler: Simplify format collection
> > - Documentation: guides: pipeline-handler: Query pixel formats once
> > - Documentation: guides: application-developer: Remove unnecessary argument
> > - Documentation: Fix `INCLUDE_PATH` doxygen configuration option
> > - doc: Mention right meson version
> > - doc: document libtiff dependency for cam
> >
> > test:
> > - test: Add minimal test for Matrix
> > - lc-compliance: Move camera setup to CameraHolder class
> >
> > --
> > Regards
> >
> > Kieran
>
More information about the libcamera-devel
mailing list