tag name | v0.3.2 (9a395403a1ddddf949add2073b82a02c968c1db8) |
tag date | 2024-09-24 14:31:12 +0100 |
tagged by | Kieran Bingham <kieran.bingham@ideasonboard.com> |
tagged object | commit 8bcec68734... |
libcamera v0.3.2
abi-compliance-checker reports 100% binary and source compatibility,
so this release does not change the SONAME.
Binary compatibility: 100%
Source compatibility: 100%
Total binary compatibility problems: 0, warnings: 0
Total source compatibility problems: 0, warnings: 0
bugs:
The following commits in this release relate to either a bug fix or
improvement to existing commit.
- meson: Enable simple pipeline handler on all platforms by default
- Fixes: 06e0d8508e5c ("libcamera: pipeline: simple: Enable intel-ipu6 with Soft ISP")
- libcamera: udev: Catch udev notification errors
- Bug: https://bugs.libcamera.org/show_bug.cgi?id=230
- libcamera: Drop remaining file names from header comment blocks
- Fixes: 829acb3ab0b1 ("libcamera: Drop file name from header comment blocks in templates")
- Documentation: Fix link to introduction on mainpage.dox
- Fixes: 860a3e30319c ("Documentation: Rework docs.rst into introduction.rst")
- Documentation: Fix links from API references to guides
- Fixes: e93886178106 ("Documentation: Improve doxygen main page")
- pipeline: uvcvideo: Implement acquireDevice() + releaseDevice()
- Bug: https://bugs.libcamera.org/show_bug.cgi?id=168
And the following updates have been made in this release, grouped by
category:
core:
- libcamera: Avoid variable-length arrays
- meson: Enable simple pipeline handler on all platforms by default
- libcamera: base: Add MemFd helper class
- libcamera: base: memfd: Handle uClibc compatibility with function wrapper
- libcamera: shared_mem_object: Prevent memfd from shrinking or growing
- libcamera: simple: Log a missing sensor in a better way
- libcamera: ipa_proxy: Unify configurationFile argument name
- libcamera: ipa_proxy: Report a missing configuration as a warning
- libcamera: Remove spaces at end of lines
- meson: Drop gcc 8 support
- utils: checkstyle.py: Warn when no valid Signed-off-by line is found
- libcamera: Drop path prefix from Doxygen file directive
- libcamera: Make all internal headers visible to Doxygen
- libcamera: Unify Doxygen file directive prefix for formats.h
- libcamera: Mark internal parts of public classes with \internal
- libcamera: Hide *::Private classes with __DOXYGEN_PUBLIC__
- libcamera: Split public and internal source arrays
- libcamera: Add version.h to public headers
- libcamera: Drop libcamera_generated_ipa_headers from sources
- libcamera: Move IPA headers to the libcamera_private dependency
- libcamera: Consolidate all IPA headers in libcamera_ipa_headers
- libcamera: Add missing headers to libcamera_internal_headers
- libcamera: Consolidate tracepoint header in libcamera_internal_headers
- libcamera: Don't add libcamera_public_headers to libcamera_public_sources
- utils: checkstyle.py: Add author property to Commit class
- utils: checkstyle.py: Validate SoB trailer against author
- utils: checkstyle.py: Fix trailer parsing for commits with changelogs
- libcamera: ipa_manager: Remove singleton requirement
- libcamera: udev: Catch udev notification errors
- libcamera: Add missing <stdint.h> include to base/file.h
- libcamera: Add missing <stdint.h> include to internal/yaml_parser.h
- libcamera: Fix header grouping
- libcamera: formats: Adding Support for Y12P
- utils: checkstyle.py: Rework commit message parsing
- utils: checkstyle.py: Skip title and trailers checkers for pre-commit
- utils: checkstyle.py: Add __repr__ method to Commit class
- libcamera: simple: Fix a typo in a doc string
- libcamera: camera: Hide Camera::create() from the public API
- meson: Store controls and properties YAML files in variables
- meson: Fix mismatch in controls and properties generated file names
- libcamera: Drop remaining file names from header comment blocks
- meson: Move all code generation scripts to utils/codegen/
- meson: utils: Provide environment for Python scripts
- utils: codegen: gen-header.sh: Generate libcamera.h based on meson.build
- utils: codegen: gen-controls.py: Convert to jinja2 templates
- utils: codegen: gen-controls.py: Move helper classes to separate file
- libcamera: controls: Improve formatting of control descriptions in YAML
- libcamera: pipeline_handler: Fix unlocking media devices too early
- libcamera: pipeline_handler: Call releaseDevice() before unlocking media devices
- libcamera: controls: Fix example for ExposureValue
- utils: update-kernel-headers: Support relative path to kernel git tree
- include: linux: Update headers for rkisp1 extensible parameters
- libcamera: camera: Use invokeMethod() for pipe_->acquire() and pipe_->release()
- libcamera: uvcvideo: Fix includes
- libcamera: v4l2: Remove unused includes
- libcamera: v4l2: Fix an include placement
- libcamera: v4l2: Fix indirect include
- libcamera: libcamera: Remove unused includes
- libcamera: libcamera: Add missing includes
- libcamera: libcamera: Formatting improvements
- libcamera: includes: Add missing includes
- libcamera: includes: Remove unused includes
- libcamera: includes: Formatting improvements
- utils: checkstyle: Add a python formatter
- utils: checkstyle: Remove style checker for python pep8
- libcamera: utils: Add ScopeExitActions class
- libcamera: v4l2_videodevice: Improve readability
- libcamera: media_object: Add MediaPad string representations
- libcamera: media_object: Add MediaLink string representations
- libcamera: media_device: Use MediaLink string helper
- libcamera: yaml-parser: Add additional tests
- libcamera: yaml-parser: Add failing test for unexpected behavior
- libcamera: yaml-parser: Differentiate between empty and empty string
- Document additional environmental variables
pipeline:
- libcamera: software_isp: Remove file seal TODO item
- libcamera: software_isp: Replace malloc() with std::vector<>
- pipeline: rkisp1: Use the extensible parameters format
- pipeline_handler: Add acquireDevice() function to mirror releaseDevice()
- pipeline: uvcvideo: Implement acquireDevice() + releaseDevice()
- libcamera: ipu3: Remove unused includes
- libcamera: ipu3: Replace wrong include
- libcamera: ipu3: Formatting improvements
- libcamera: rkisp1: Remove unused includes
- libcamera: rkisp1: Formatting improvements
- pipeline: rkisp1: Use ScopeExitActions to simplify error handling in start
- libcamera: pipeline: simple: Fix typos in match routing comment
- pipeline: simple: Remove media member variable
- libcamera: pipeline: simple: Use MediaLink string helper
- libcamera: debayer_cpu: Sync DMABUFs
ipa:
- ipa: libipa: camera_sensor_helper: Reference blackLevel() in documentation
- ipa: libipa: Add missing CameraSensorHelper fn label in docs
- ipa: rkisp1: Pass parameters buffer format to IPA module
- ipa: rkisp1: Pass parameters buffer size to pipeline handler
- ipa: rkisp1: Add ISP parameters abstraction class
- ipa: rkisp1: Use the new ISP parameters abstraction
- ipa: rkisp1: params: Add companding blocks
- ipa: rkisp1: Add compand feature flag to ipa context
- ipa: rkisp1: blc: Add support for BLS in compand
- libcamera: libipa: Remove unused includes
- libcamera: ipa: Remove unused includes
- utils: ipc: Include <string> in generated headers where needed
- libcamera: ipa: Drop unneded includes from ipa_interface.h
- ipa: rpi: agc: Ignore stable region when exposure/gain set manually
- ipa: rpi: Adding IMX283 support
- libcamera: libipa: camera_sensor: Add IMX283 black level
- ipa: libipa: Add generic Interpolator class
- ipa: rkisp1: Use generic Interpolator class
- ipa: rkisp1: Remove MatrixInterpolator
- ipa: rkisp1: Use interpolator in lsc
- ipa: rkisp1: Move loader functions into helper class
- ipa: libipa: Add lsc polynomial class
- ipa: rkisp1: Add sensor info to context
- ipa: rkisp1: Add polynomial LSC loader
- libcamera: libipa: camera_sensor: Add Sony IMX214 sensor properties
apps:
- gstreamer: Fix width and height range handling
- apps: qcam: Disable -Wextra-semi
- gstreamer: Fix missing "greater than" symbol in author string
- py: cam: Convert to PyQt6
- py: gen-py-controls: Use Control class
- py: gen-py-controls: Convert to jinja2 templates
- v4l2: Support setting frame rate in the V4L2 Adaptation layer
- qcam: Decrease minimum width of selector dialog
- qcam: Drop Qt version checks
- qcam: viewfinder_qt: Draw the letterbox background black
- qcam: viewfinder_gl: Fix binding of vertex buffer and shader program
- qcam: viewfinder_gl: Drop duplicate glClearColor()
- qcam: viewfinder_gl: Render image centered in letterbox
documentation:
- Documentation: Add Thread safety page
- Documentation: Split doxygen_input in public and internal inputs
- Documentation: Split public/private documentation
- Documentation: Improve doxygen main page
- Documentation: Add documentation-contents.rst
- Documentation: Alphabetise the Documentation toctree
- Documentation: Synchronise camera stack details
- Documentation: Breakout docs.rst
- Documentation: Remove libcamera architecture from introduction.rst
- Documentation: Rework docs.rst into introduction.rst
- Documentation: Rework index.rst
- Documentation: Add internal-api-html placeholder
- Documentation: Reformat documentation_contents.rst
- Documentation: Rename "API" section to "API Reference"
- Documentation: Drop local table of contents from introduction
- Documentation: Rename "Documentation" section to "Introduction"
- Documentation: Fix link to introduction on mainpage.dox
- Documentation: Fix links from API references to guides
tuning:
- utils: tuning: rkisp1: Clean up tuner construction
- utils: tuning: Change Tuner.add() to accept a list of modules
test:
- tests: Add a missing iostream include
- test: ipa: libipa: Add tets for Interpolator
Acked-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
-----BEGIN PGP SIGNATURE-----
iQJUBAABCgA+FiEEkC3XmD+9KP3jctR6oR5GchCkYf0FAmbyvyAgHGtpZXJhbi5i
aW5naGFtQGlkZWFzb25ib2FyZC5jb20ACgkQoR5GchCkYf0fShAAkMtgTEYC3jA2
Qk2DEctzjJ42qhPqyXl4R5gjaqps1Ze2viiJYV3bKjAmoKfTas/VcIQjamCmHTUo
tDGP/lJMb4Y3kojiYIOrJumcFt3Lr+UYCWFU6sY+mQ7Be+sMGrFmZli5Y6ZvTHa9
iSVkB1iCeTAg8n1tJuKrlTQDmmGiSlPOYyhI6vBzdxNgm3BqxgKJqDOalCtf1bXc
Osj5mBjGlHZMIVqA9ni/TwhCXGej/MqrQMs8KxWqSZTuPhmTIL9ddaDMb4xF4/+i
kvU+3LFrJE8tnyMCwHAnuDdXhf7uOr3YWBIXS7LLLXEfkSoSPXvxYgK37Gz3TuJP
Ks4tFb/sW6f8dEbzYzgy2UJKFDZYoC7Qid10EJaCXEIN9gvuRw/d0R25PrY22zNZ
7R6/qAv4D8j84zQRZ/BZ6ul98e3psuEN5yVAd/PRKiTlTIZK60cXVG3QH75RwE0L
5UNvPVO/dQN0oAmISslP83qVWP4BGpbhOxhY7ab5uTM235KxbZwQRsPCchVmE4nc
vBm2o64JydWESH6ahFkD4prQ5N/B8msL8D0EBtyMlzWiupXw38FrdlqFNOWKqoQN
zUfyL6pk+mLWDd0JRAmJnR3ymPbsezzOpL0cqwhzUPdTTpv8TPUg7qsd5tIu/tcr
91XOlVwGH9C7kjaeoD7hxuoWZNTRFlw=
=QqFw
-----END PGP SIGNATURE-----