summaryrefslogtreecommitdiff
path: root/src/ipa
diff options
context:
space:
mode:
authorMilan Zamazal <mzamazal@redhat.com>2024-09-27 15:46:11 +0200
committerKieran Bingham <kieran.bingham@ideasonboard.com>2024-09-27 15:01:57 +0100
commitc64f2f197a7eeefd283af2a1cc1c79ba76dbae0d (patch)
treec15e0503822433ec3483197377550bb3fc27240c /src/ipa
parent0cc74c492a89f639059292449d90b171876949c7 (diff)
libcamera: software_isp: Make stats frame and buffer aware
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>
Diffstat (limited to 'src/ipa')
-rw-r--r--src/ipa/simple/soft_simple.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/ipa/simple/soft_simple.cpp b/src/ipa/simple/soft_simple.cpp
index 72321f44..12b5245e 100644
--- a/src/ipa/simple/soft_simple.cpp
+++ b/src/ipa/simple/soft_simple.cpp
@@ -75,7 +75,8 @@ public:
int start() override;
void stop() override;
- void processStats(const ControlList &sensorControls) override;
+ void processStats(const uint32_t frame, const uint32_t bufferId,
+ const ControlList &sensorControls) override;
protected:
std::string logPrefix() const override;
@@ -249,7 +250,9 @@ void IPASoftSimple::stop()
{
}
-void IPASoftSimple::processStats(const ControlList &sensorControls)
+void IPASoftSimple::processStats([[maybe_unused]] const uint32_t frame,
+ [[maybe_unused]] const uint32_t bufferId,
+ const ControlList &sensorControls)
{
SwIspStats::Histogram histogram = stats_->yHistogram;
if (ignoreUpdates_ > 0)