Files
external_libcamera/src/ipa/raspberrypi
David Plowman db55e09b42 ipa: raspberrypi: AWB: Fix race condition setting manual gains
Applying the manual_r_ and manual_b_ values is entirely removed from
the asynchronous thread where their use constituted a race hazard. The
main thread now deals with them entirely, involving the following
changes.

1. SetManualGains() applies the new values directly to the
"sync_results", meaning that Prepare() will jump to the new values
immediately (which is a better behaviour).

2. Process() does not restart the asynchronous thread when manual
gains are in force.

3. The asynchronous thread might be running when manual gains are set,
so we ignore the results produced in this case.

Signed-off-by: David Plowman <david.plowman@raspberrypi.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Naushir Patuck <naush@raspberrypi.com>
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
2021-02-11 19:14:39 +02:00
..

.. SPDX-License-Identifier: BSD-2-Clause

libcamera for the Raspberry Pi

Raspberry Pi provides a fully featured pipeline handler and control algorithms (IPAs, or "Image Processing Algorithms") to work with libcamera. Support is included for all existing Raspberry Pi camera modules.

libcamera for the Raspberry Pi allows users to:

  1. Use their existing Raspberry Pi cameras.
  2. Change the tuning of the image processing for their Raspberry Pi cameras.
  3. Alter or amend the control algorithms (such as AGC/AEC, AWB or any others) that control the sensor and ISP.
  4. Implement their own custom control algorithms.
  5. Supply new tunings and/or algorithms for completely new sensors.

How to install and run libcamera on the Raspberry Pi

Please follow the instructions here.

Documentation

Full documentation for the Raspberry Pi Camera Algorithm and Tuning Guide can be found here.