Define the Soft IPA main and event interfaces, add the Soft IPA implementation. The current src/ipa/meson.build assumes the IPA name to match the pipeline name. For this reason "-Dipas=simple" is used for the Soft IPA module. Auto exposure/gain and AWB implementation by Dennis, Toon and Martti. Auto exposure/gain targets a Mean Sample Value of 2.5 following the MSV calculation algorithm from: https://www.araa.asn.au/acra/acra2007/papers/paper84final.pdf Use CameraSensorHelper to convert the analogue gain code read from the camera sensor into real analogue gain value. In the future this makes it possible to use faster AE/AGC algorithm. Right now the CameraSensorHelper lets us use the full range of analogue gain values. If there is no CameraSensorHelper for the camera sensor in use, a warning log message is printed. Tested-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org> # sc8280xp Lenovo x13s Tested-by: Pavel Machek <pavel@ucw.cz> Reviewed-by: Pavel Machek <pavel@ucw.cz> Signed-off-by: Andrey Konovalov <andrey.konovalov@linaro.org> Co-developed-by: Dennis Bonke <admin@dennisbonke.com> Signed-off-by: Dennis Bonke <admin@dennisbonke.com> Co-developed-by: Marttico <g.martti@gmail.com> Signed-off-by: Marttico <g.martti@gmail.com> Co-developed-by: Toon Langendam <t.langendam@gmail.com> Signed-off-by: Toon Langendam <t.langendam@gmail.com> Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
29 lines
688 B
Plaintext
29 lines
688 B
Plaintext
/* SPDX-License-Identifier: LGPL-2.1-or-later */
|
|
|
|
/*
|
|
* \todo Document the interface and remove the related EXCLUDE_PATTERNS entry.
|
|
*/
|
|
|
|
module ipa.soft;
|
|
|
|
import "include/libcamera/ipa/core.mojom";
|
|
|
|
interface IPASoftInterface {
|
|
init(libcamera.IPASettings settings,
|
|
libcamera.SharedFD fdStats,
|
|
libcamera.SharedFD fdParams,
|
|
libcamera.ControlInfoMap sensorCtrlInfoMap)
|
|
=> (int32 ret);
|
|
start() => (int32 ret);
|
|
stop();
|
|
configure(libcamera.ControlInfoMap sensorCtrlInfoMap)
|
|
=> (int32 ret);
|
|
|
|
[async] processStats(libcamera.ControlList sensorControls);
|
|
};
|
|
|
|
interface IPASoftEventInterface {
|
|
setSensorControls(libcamera.ControlList sensorControls);
|
|
setIspParams();
|
|
};
|