Tags: raspberrypi/libcamera
Tags
ipa: rpi: Fix incorrect cast for ExposureTime ControlInfo controls::ExposureTime is of type ControlTypeInteger32, but the default ControlInfoMap casts a value to int64_t causing incorrect initialisation of the associated ControlInfo. Fix this by casting correctly to int32_t. Fixes: 8cebd77 ("ipa: rpi: Apply default ControlInfo values for sensor controls (2)") Signed-off-by: Naushir Patuck <naush@raspberrypi.com>
ipa: rpi: Apply default ControlInfo values for sensor controls (2) Unfortunately the previous fix for default sensor ControlInfo values was incomplete, and the static list must also have default values so that the ConrolInfo during ipa::init() are present. Fix this. Fixes: ca36c77 ("ipa: rpi: Apply default ControlInfo values for sensor controls") Signed-off-by: Naushir Patuck <naush@raspberrypi.com>
ipa: rpi: Apply default ControlInfo values for sensor controls The existing IPA initialisation code did not set default values for some sensor related controls. This caused a crash using libcamerify when the it was trying to access the default value for controls::FrameDurationLimits as part of a recent change. Ensure controls::FrameDurationLimits, controls::AnalogueGain and controls::ExposureTime advertise default values along with the existing min/max values. The default is set to the defaults defined in the IPA set during initialisation. Bug: https://bugs.libcamera.org/show_bug.cgi?id=253 Signed-off-by: Naushir Patuck <naush@raspberrypi.com>
ipa: rpi: pisp: Update all tuning files for sync algorithm Default to all the standard parameter values. Signed-off-by: David Plowman <david.plowman@raspberrypi.com> Reviewed-by: Naushir Patuck <naush@raspberrypi.com>
libcamera v0.4.0 The abi-compliance-checker reports that there is both ABI and API breakage in this release. Binary compatibility: 91.2% Source compatibility: 98.9% Total binary compatibility problems: 69, warnings: 0 Total source compatibility problems: 9, warnings: 0 This is not too surprising as this was the reason for the extra delay holding up this release, and as such this release bumps the SONAME to 0.4 accordingly. The majority of the ABI breakages are around the public API for Control handling and definitions, which have caused underlying identifiers to be changed, and the reuqired storage for controls has increased. I hope that grouping the expected ABI and API breakages and delaying this release will allow a longer stability on the 0.4 series but as we are developing rapidly this can not be guaranteed, though we aim to minimise disruption to distributions and applications whereever possible. This release brings in 253 commits, with substantial development on image control and tuning features for IPA and Pipeline handlers supporting libipa, as well as integrating libipa support for IPA handling on the ARM Mali-C55 ISP. A new 'Virtual Pipeline Handler' has been introduced to support more testing in CI and virtual environments. Gstreamer has had some interesting development to rework expressing the full control set from libcamera using auto generation from the full control descriptors. A key and notable change in this release too is that the softISP is now moving towards utilising the libipa implementaitons which will enable future tuning and image control capabilities, and should also support future development on a GPU-ISP implementation for GPU-accelerated handling. I do believe this work may have introduced an oscillation regression in the AEGC which will need to be investigated and fixed in the near future, but I don't want to hold up progressing the ABI updates at this stage. The i.MX8MP can now make full use of the DW100 Dewarp Engine for full rotation and digital zoom capabilities. Raspberry Pi systems now have improved support for the OV7251, IMX462, and IMX327 Sensors, and libipa platforms can now make use of the GalaxyCore gc05a2 and gc08a3 Image sensors. The following commits in this release relate to either a bug fix or an improvement to an existing commit. - ipa: rpi: Use std::abs() - Reported-by: Maarten Lankhorst <dev@lankhorst.se> - libcamera: rkisp1: Clamp stream configuration to ISP limit on raw path - Fixes: 7615454 ("pipeline: rkisp1: Filter out sensor sizes not supported by the pipeline") - libcamera: rkisp1: Rectify SensorConfiguration check - Fixes: 047d647 ("libcamera: rkisp1: Integrate SensorConfiguration support") - libcamera: controls: Add missing size to control_type<Point> - Fixes: 200d535 ("libcamera: controls: Add ControlTypePoint") - pycamera: Add missing code for ControlTypePoint - Fixes: 200d535 ("libcamera: controls: Add ControlTypePoint") - libcamera: software_isp: Clear IPA context on configure and stop - Fixes: 04d171e ("libcamera: software_isp: Call Algorithm::queueRequest") - utils: checkstyle.py: Centralize dependency handling for checkers - Fixes: 8ffaf37 ("utils: checkstyle: Add a python formatter") - test: py: Fix log level restore in SimpleTestMethods() - Fixes: 06cb713 ("py: Add unittests.py") - v4l2: v4l2_camera_proxy: Fix VIDIOC_[GS]_PARM support - Fixes: 5456e02 ("v4l2: Support setting frame rate in the V4L2 Adaptation layer") - gstreamer: Remove auto-focus-mode property from device provider - Fixes: 5a14243 ("gstreamer: Add enable_auto_focus option to the GStreamer plugin") - libcamera: software_isp: Clean up pending requests on stop - Bug: https://bugs.libcamera.org/show_bug.cgi?id=234 - ipa: rpi: awb: Disable CT search bias for Grey World AWB - Fixes: ea8fd63 ("ipa: rpi: awb: Add a bias to the AWB search") - meson: Don't unnecessarily fallback to libyuv wrap - Fixes: eeaa7de ("libcamera: pipeline: Add test pattern for VirtualPipelineHandler") - libcamera: Don't copy `StreamConfiguration` when iterating - Fixes: 4217c9f ("libcamera: camera: Zero streams before validate()") - libcamera: software_isp: Actually apply black level from tuning data - Fixes: 41e3d61 ("libcamera: software_isp: Clear IPA context on configure and stop") - gstreamer: keep same transfer with that in negotiated caps - Bug: https://bugs.libcamera.org/show_bug.cgi?id=150 - pipeline: rkisp1: Fix scope of dewarper stop() exit action - Fixes: 12b553d ("libcamera: rkisp1: Plumb the dw100 dewarper as V4L2M2M converter") - pipeline: rkisp1: Limit sensor size to max resolution - Fixes: 7615454 ("pipeline: rkisp1: Filter out sensor sizes not supported by the pipeline") And the following updates have been made in this release, grouped by category: core: - utils: abi-compat: Disable python build - utils: abi-compat: sort meson options - libcamera: controls: Add enum names and values map to ControlId - libcamera: controls: Add array information to ControlId - libcamera: v4l2_videodevice: Add getSelection() function - libcamera: controls: Handle enum values without a cast - libcamera: Replace usage of lroundf() with std::lround() - libcamera: Replace last users of math.h - libcamera: geometry: Clarify Rectangle's top-left corner - libcamera: geometry: Add two-point Rectangle constructor - libcamera: controls: Add ControlTypePoint - libcamera: control_ids_draft: Add face detection controls - libcamera: android: Add face detection control support - libcamera: yaml_parser: Take string keys in `std::string_view` - libcamera: camera: Fix CameraConfiguration spelling error - libcamera: MappedFrameBuffer: Fix typo in comment formatting - libcamera: controls: Add missing size to control_type<Point> - libcamera: tracepoints: Fix copyright year for reproducible builds - libcamera: controls: Add vendor information to ControlId - libcamera: converter: Add interface for feature flags - libcamera: converter: Add interface to support cropping capability - libcamera: formats: Change bytesPerGroup of RGB565 and RGB565_BE from 3 to 2 - utils: checkstyle.py: Factor out common code to new CheckerBase class - utils: checkstyle.py: Turn check() into a class method for all checkers - utils: checkstyle.py: Print issues using __str__ - utils: checkstyle.py: Centralize dependency handling for checkers - libcamera: camera_sensor: Introduce CameraSensorFactory - libcamera: camera_sensor: Create abstract base class - libcamera: camera_sensor: Sort factories by priority - libcamera: pipeline_handler: Provide cancelRequest - libcamera: simple: Track requests in conversionQueue_ - libcamera: Rationalize IPA and handlers names - libcamera: Add debug control space - libcamera: Add a DebugMetadata helper - utils: Add script to generate control_ids_debug.yaml - libcamera: yaml_parser: Use std::from_chars() - libcamera: add DmaBufAllocator::exportBuffers() - libcamera: Remove PipelineHandler Fatal check of non-empty MediaDevices - libcamera: virtual: Add VirtualPipelineHandler - libcamera: virtual: Add ImageFrameGenerator - libcamera: virtual: Read config and register cameras based on the config - meson: Don't unnecessarily fallback to libyuv wrap - libcamera: Rename "shutter speed" to "exposure time" - libcamera: camera_sensor_properties: Add sensor control delays - libcamera: pipelines: Draw control delays from CameraSensor properties - libcamera: Don't copy `StreamConfiguration` when iterating - treewide: Avoid some copies in range-based for loops - libcamera: v4l2_videodevice: Clarify V4L2M2MDevice - libcamera: Extend u32 control type - libcamera: Extend u16 control type - libcamera: add method to set thread affinity - libcamera: Copy Matrix class from libipa to libcamera - libcamera: internal: Move Matrix class into libcamera namespace - libcamera: internal: matrix: Replace vector with array in constructor - libcamera: internal: Add Matrix class to build - libcamera: mali-c55: Limit max size to sensor resolution - libcamera: mali-c55: Limit ISP input size - libcamera: mali-c55: Init camera properties - libcamera: mali-c55: Simplify bufferReady() - libcamera: mali-c55: Remove MaliC55CameraData::mbusCodes() - libcamera: mali-c55: Add stride and size to rawConfig - libcamera: v4l2-subdevice: Add Mali C55 media bus formats - libcamera: bayer_format: Add 20-bit bayer formats - libcamera: mali-c55: Propagate CSI-2 format to ISP - libcamera: mali-c55: Correct input/output format representation - libcamera: mali-c55: Enable links between resizer and video node - libcamera: mali-c55: Enable usage of scaler - libcamera: mali-c55: implement support for ScalerCrop - libcamera: yaml_parser: Output more details when parsing fails - libcamera: yaml_parser: Include stdlib.h instead of cstdlib - libcamera: utils: StringSplitter: Inline some trivial methods - libcamera: utils: StringSplitter: Add `operator==` - libcamera: stream: Add operator<<(StreamConfiguration) - libcamera: yaml_parser: Improve efficiency of string empty check - libcamera: geometry: Add Rectangle::transformedBetween() - libcamera: converter_v4l2_m2m: Add missing override specifier - libcamera: converter_v4l2_m2m: Refactor get crop bounds code - libcamera: converter: Add function to query crop bounds - libcamera: converter: Add function to check if a stream was configured - libcamera: converter: Add functions to adjust config - libcamera: camera: Add a const version of the pipe() function - libcamera: camera_sensor: Add parameter to limit returned sensor size - libcamera: camera_sensor_properties: Add ov7251 and ov9281 - libcamera: rpi: Draw sensor delays from CameraSensorProperties - include: linux: Add mali-c55-config.h - include: linux: Add Mali-C55 Stats and Params V4L2 format - libcamera: mali-c55: Acquire and plumb in 3a params and stats - libcamera: controls: Populate direction field in control definitions - utils: codegen: controls.py: Parse direction information - libcamera: controls: Add support for querying direction information - libcamera: controls: Update the ColourTemperature control to be writable - utils: gen-debug-controls: Output direction flag - hooks: pre-push: Verify that co-authors have a SoB line - gitignore: Add venv directory to gitignore - CameraManager: Ensure we cleanup on failure - Add .editorconfig file - DmaBufAllocator: Add Dma Buffer synchronization function & helper class apps: - apps: cam: Print control enum values more nicely - py: Add bindings for ControlId enum name - apps: cam: Print control array sizes - apps: Replace HAVE_DNG with HAVE_TIFF - apps: cam: Print an error when outputting DNG and DNG support is missing - pycamera: Add missing code for ControlTypePoint - apps: cam: Print control vendor information when listing controls - py: Add bindings for ControlId vendor information - qcam: Automatically select the camera if only one is available - gstreamer: Implement caps negotiation for video/x-bayer - v4l2: v4l2_camera_proxy: Fix VIDIOC_[GS]_PARM support - gstreamer: Remove auto-focus-mode property from device provider - gstreamer: Remove auto-focus-mode property from libcamerasrc - gstreamer: Generate controls from control_ids_*.yaml files - py: Add bindings for ControlId array information - qcam: Use pointer when choosing camera - gstreamer: keep same transfer with that in negotiated caps - apps: cam: Print control direction information pipeline: - libcamera: software_isp: Remove superfluous includes - libcamera: software_isp: Move BlackLevel to libcamera::ipa::soft - libcamera: software_isp: Define skeletons for IPA refactoring - libcamera: software_isp: Let IPASoftSimple inherit Module - libcamera: software_isp: Make stats frame and buffer aware - libcamera: software_isp: Remove final dots in debayer.cpp docstrings - libcamera: software_isp: Track and pass frame ids - libcamera: software_isp: Create algorithms - libcamera: software_isp: Call Algorithm::configure - libcamera: software_isp: Call Algorithm::queueRequest - libcamera: software_isp: Call Algorithm::prepare - libcamera: software_isp: Call Algorithm::process - libcamera: software_isp: Move black level to an algorithm module - libcamera: software_isp: Move color handling to an algorithm module - libcamera: software_isp: Use floating point for color parameters - libcamera: software_isp: Use DelayedControls - libcamera: software_isp: Move exposure+gain to an algorithm module - libcamera: software_isp: Update black level only on exposure changes - pipeline: simple: Increase buffer count to four - libcamera: rkisp1: Eliminate hard-coded resizer limits - pipeline: rkisp1: Filter out sensor sizes not supported by the pipeline - libcamera: software_isp: Improve wording in a comment - libcamera: rkisp1: Integrate SensorConfiguration support - libcamera: rkisp1: Clamp stream configuration to ISP limit on raw path - libcamera: rkisp1: Use const reference for sensor configuration - libcamera: rkisp1: Rectify SensorConfiguration check - libcamera: rkisp1: Maintain alphabetical order of forward declarations - libcamera: software_isp: Clear IPA context on configure and stop - libcamera: software_isp: Get black level from the camera helper - libcamera: software_isp: Black level from tuning file - libcamera: pipeline: rkisp1: Fix typo in todo task - libcamera: rkisp1: Prepare for additional camera controls - libcamera: rkisp1: Plumb the dw100 dewarper as V4L2M2M converter - pipeline: rpi: Remove CameraData::scalerCrop_ - pipeline: rpi: Pass crop rectangle as a parameter to platformSetIspCrop() - pipeline: rpi: Introduce CameraData::CropParams - pipeline: rpi: Track which ISP output is configured for a stream - pipeline: rpi: Pass ISP output index into platformSetIspCrop() - pipeline: rpi: Handler controls::rpi::ScalerCrops - libcamera: rkisp1: Create main buffer pool out of if(!isRaw) - libcamera: software_isp: Clean up pending requests on stop - libcamera: pipeline: Add test pattern for VirtualPipelineHandler - libcamera: software_isp: Refactor SoftwareIsp to use DmaBufAllocator::exportBuffers - libcamera: software_isp: Initialize exposure+gain before agc calculations - libcamera: software_isp: Remove unused IPAActiveState fields - libcamera: software_isp: Actually apply black level from tuning data - rkisp1: Use Matrix class from libcamera - libcamera: software_isp: Add support for contrast control - libcamera: software_isp: Add contrast control - pipeline: rkisp1: Fix scope of dewarper stop() exit action - pipeline: rkisp1: Keep aspect ratio on imx8mp - pipeline: rkisp1: Split inputCrop and outputCrop - pipeline: rkisp1: Reorder sensorInfo collection code - pipeline: rkisp1: Query dewarper crop bounds if no stream configured - pipeline: rkisp1: Fix ScalerCrop to be in sensor coordinates - pipeline: rkisp1: Add ScalerMaximumCrop property - pipeline: rkisp1: Refactor path validation - pipeline: rkisp1: Enable the dewarper unconditionally - pipeline: rkisp1: make RkISP1CameraConfiguration a friend of the pipeline handler - pipeline: rkisp1: Fix config validation when dewarper is used - pipeline: rkisp1: Limit sensor size to max resolution - debayer_cpu: Replace syncing DMABUFs with DmaSyncer - include: media-bus-formats: Add Mali-C55 mbus codes - mali-c55: Plumb the IPA module in ipa: - ipa: rpi: Use std::abs() - ipa: rpi: Replace last users of math.h - ipa: rpi: awb: Add a const for the default colour temperature - ipa: rpi: awb: Add a bias to the AWB search - ipa: rkisp1: algorithms: agc: Check for correct stats type - ipa: rkisp1: algorithms: awb: Check for correct stats type - ipa: rpi: Add tuning files for OV7251 - ipa: libipa: Fix ExposureModeHelper function name in documentation - ipa: rkisp1: Add constructor to the ipa context - ipa: rkisp1: Add debug metadata support to the rkisp1 - ipa: libipa: Add data accessor to Histogram - ipa: libipa: Add colour helpers - ipa: ipu3: Use centralised libipa helpers - ipa: rkisp1: Use centralised libipa helpers - ipa: rpi: Use centralised libipa helpers - ipa: rpi: awb: Disable CT search bias for Grey World AWB - libipa: FCQueue: Make sure FrameContext#0 is initialized - libcamera: libipa: camera_sensor: Provide helper and properties for Sony IMX462 - ipa: rpi: cam_helper: Add Sony IMX327 - ipa: raspberrypi: Add tuning file for IMX462 sensor - ipa: raspberrypi: Add tuning file for IMX327 sensor - libcamera: libipa: camera_sensor_helper: add IMX290 black level - ipa: libipa: vector: Add mutable x(), y() and z() accessors - ipa: libipa: vector: Add r(), g() and b() accessors - ipa: libipa: vector: Add scalar constructor - ipa: libipa: vector: Rename the dot product operator*() to dot() - ipa: libipa: vector: Generalize arithmetic operators - ipa: libipa: vector: Add missing binary arithemtic operators - ipa: libipa: vector: Add compound assignment operators - ipa: libipa: vector: Add element-wise min() and max() functions - ipa: libipa: vector: Add sum() function - ipa: ipu3: awb: Replace Awb::RGB class with ipa::RGB - ipa: libipa: colour: Use the RGB class to model RGB values - ipa: libipa: colour: Use Vector and Matrix for linear algebra - ipa: rkisp1: awb: Use RGB class to store colour gains - ipa: rkisp1: awb: Use Vector and Matrix for linear algebra - ipa: rkisp1: awb: Expand comment - libcamera: libipa: camera_sensor: Add GalaxyCore gc05a2 sensor properties - libcamera: libipa: camera_sensor: Add GalaxyCore gc08a3 sensor properties - ipa: rpi: Rename Matrix to Matrix3x3 - ipa: rpi: ccm: Replace local matrix implementation with the libcamera one - libipa: Use Matrix class from libcamera - libipa: Drop Matrix class - libipa: agc_mean_luminance: Rename yaml key from exposure-time to exposureTime - ipa: software_isp: Add constructor to the IPA context - ipa: ipu3: Add constructor to the IPA context - libcamera: libipa: camera_sensor_helper: Use `variant` instead of `union` - ipa: rpi: Fix wrong frame integration difference value for OV9281 - ipa: rpi: cam_helper: imx708: Correct the frame integration diff value - libipa: Centralise Fixed / Floating point convertors - ipa: mali-c55: Add Mali-C55 ISP IPA module - ipa: mali-c55: Add Agc algorithm - ipa: mali-c55: Add BLC Algorithm - ipa: mali-c55: Add AWB Algorithm - ipa: mali-c55: Add Lens Shading Correction algorithm - ipa: mali-c55: Add IMX415 tuning data file - ipa: rkisp1: awb: Load white balance gains from tuning file - ipa: rkisp1: awb: Implement ColourTemperature control - ipa: rpi: awb: Make it possible to set the colour temperature directly - ipa: libipa: Add Lux helper - ipa: rkisp1: Add Lux algorithm module - controls: rpi: Add a vendor rpi::ScalerCrops control documentation: - Documentation: guides: Fix FileSink source link test: - test: py: Fix log level restore in SimpleTestMethods() - test: py: Replace environment array with environment object - test: py: LD_PRELOAD the C++ standard library when using ASan - test: libipa: Add Vector class test - test: span: Use intended variable tuning: - utils: tuning: libtuning: Fix tuning for non RGGB RAWs - libtuning: Use logging framework in ctt_awb.awb() - libtuning: Remove the Cam object from ctt_awb.awb() - libtuning: Fix access to color member in ctt_awb.awb() - libtuning: Add initial AWB module - utils: tuning: rkisp1: Replace static AWB with new AWB module Acked-by: Kieran Bingham <kieran.bingham@ideasonboard.com> Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
ipa: rpi: awb: Disable CT search bias for Grey World AWB If grey world AWB is setup in the tuning file, the CT curve will either be missing or invalid. Disable biasing the statistics for the search in such cases. Fixes: ea8fd63 ("ipa: rpi: awb: Add a bias to the AWB search") Signed-off-by: Naushir Patuck <naush@raspberrypi.com> Reviewed-by: David Plowman <david.plowman@raspberrypi.com> Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
RASPBERRYPI ONLY: Use meson from pip when generating orig tarball
ipa: rpi: Add support for the Sony IMX500 camera sensor Add a Sony IMX500 camera helper to the IPA. This also includes support for the on-chip CNN hardware accelerator and parsing of the neural network data stream returned in the metadata buffer. Add tuning files for both VC4 and PiSP platforms. Signed-off-by: Naushir Patuck <naush@raspberrypi.com>
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: 06e0d85 ("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: 829acb3 ("libcamera: Drop file name from header comment blocks in templates") - Documentation: Fix link to introduction on mainpage.dox - Fixes: 860a3e3 ("Documentation: Rework docs.rst into introduction.rst") - Documentation: Fix links from API references to guides - Fixes: e938861 ("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>
pipeline: rpi: Fix invalid access to CameraData::sensorInfo_ sensorInfo_ currently gets populated in configureIPA(), but is possibly referenced in platformConfigure() which is called first. Fix this by populating sensorInfo_ straight after configuring the sensor in configure(), ensuring the fields are valid in the call to platformConfigure(). Signed-off-by: Naushir Patuck <naush@raspberrypi.com>
PreviousNext