This patch adds frame and bufferId arguments to stats related calls. Although the parameters are currently unused, because frame ids are not tracked and used and the stats buffer is passed around directly rather than being referred by its id, they bring the internal APIs closer to their counterparts in hardware pipelines. It serves as a preparation for followup patches that will introduce: - Frame number tracking in order to switch to DelayedControls (software ISP TODO #11 + #12). - A ring buffer for stats in order to improve passing the stats (software ISP TODO #2). Frame and buffer ids are unrelated for the given purposes but since they are passed together at the same places, the change is implemented as a single patch rather than two, basically the same, patches. Signed-off-by: Milan Zamazal <mzamazal@redhat.com> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Daniel Scally <dan.scally@ideasonboard.com> Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
35 lines
804 B
Plaintext
35 lines
804 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";
|
|
|
|
struct IPAConfigInfo {
|
|
libcamera.ControlInfoMap sensorControls;
|
|
};
|
|
|
|
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(uint32 frame,
|
|
uint32 bufferId,
|
|
libcamera.ControlList sensorControls);
|
|
};
|
|
|
|
interface IPASoftEventInterface {
|
|
setSensorControls(libcamera.ControlList sensorControls);
|
|
setIspParams();
|
|
};
|