[PATCH v3 17/23] libcamera: software_isp: Call Algorithm::process
Milan Zamazal
mzamazal at redhat.com
Wed Jul 17 10:54:38 CEST 2024
This patch adds Algorithm::process call for the defined algorithms.
This is preparation only since there are currently no Algorithm based
algorithms defined.
As software ISP currently doesn't produce any metadata, a dummy and
unused metadata instance is created to satisfy Algorithm::process API.
This should be changed in future.
Signed-off-by: Milan Zamazal <mzamazal at redhat.com>
Reviewed-by: Umang Jain <umang.jain at ideasonboard.com>
---
src/ipa/simple/soft_simple.cpp | 13 ++++++++++++-
1 file changed, 12 insertions(+), 1 deletion(-)
diff --git a/src/ipa/simple/soft_simple.cpp b/src/ipa/simple/soft_simple.cpp
index f4a6bdf4..a8499f29 100644
--- a/src/ipa/simple/soft_simple.cpp
+++ b/src/ipa/simple/soft_simple.cpp
@@ -287,10 +287,21 @@ void IPASoftSimple::prepare(const uint32_t frame)
}
void IPASoftSimple::processStats(
- [[maybe_unused]] const uint32_t frame,
+ const uint32_t frame,
[[maybe_unused]] const uint32_t bufferId,
const ControlList &sensorControls)
{
+ IPAFrameContext &frameContext = context_.frameContexts.get(frame);
+ /*
+ * Software ISP currently does not produce any metadata. Use an empty
+ * ControlList for now.
+ *
+ * \todo Implement proper metadata handling
+ */
+ ControlList metadata(controls::controls);
+ for (auto const &algo : algorithms())
+ algo->process(context_, frame, frameContext, stats_, metadata);
+
SwIspStats::Histogram histogram = stats_->yHistogram;
if (ignoreUpdates_ > 0)
blackLevel_.update(histogram);
--
2.44.1
More information about the libcamera-devel
mailing list