libcamera: software_isp: Call Algorithm::process

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@redhat.com>
Reviewed-by: Umang Jain <umang.jain@ideasonboard.com>
Reviewed-by: Daniel Scally <dan.scally@ideasonboard.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
This commit is contained in:
Milan Zamazal
2024-09-27 15:46:18 +02:00
committed by Kieran Bingham
parent 2dc696be21
commit 9e7437d5c3
+12 -1
View File
@@ -287,10 +287,21 @@ void IPASoftSimple::fillParamsBuffer(const uint32_t frame)
algo->prepare(context_, frame, frameContext, params_);
}
void IPASoftSimple::processStats([[maybe_unused]] const uint32_t frame,
void IPASoftSimple::processStats(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);