libcamera: software_isp: Call Algorithm::configure

This patch adds Algorithm::configure call for the defined algorithms.
This is preparation only since there are currently no Algorithm based
algorithms defined.

A part of this change is passing IPAConfigInfo instead of ControlInfoMap
to configure() calls as this is what Algorithm::configure expects.

Signed-off-by: Milan Zamazal <mzamazal@redhat.com>
Reviewed-by: Umang Jain <umang.jain@ideasonboard.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>
This commit is contained in:
Milan Zamazal
2024-09-27 15:46:15 +02:00
committed by Kieran Bingham
parent 97f9961e1b
commit ecbc05c4c5
5 changed files with 22 additions and 12 deletions
+9 -3
View File
@@ -73,7 +73,7 @@ public:
const SharedFD &fdStats,
const SharedFD &fdParams,
const ControlInfoMap &sensorInfoMap) override;
int configure(const ControlInfoMap &sensorInfoMap) override;
int configure(const IPAConfigInfo &configInfo) override;
int start() override;
void stop() override;
@@ -207,9 +207,9 @@ int IPASoftSimple::init(const IPASettings &settings,
return 0;
}
int IPASoftSimple::configure(const ControlInfoMap &sensorInfoMap)
int IPASoftSimple::configure(const IPAConfigInfo &configInfo)
{
sensorInfoMap_ = sensorInfoMap;
sensorInfoMap_ = configInfo.sensorControls;
const ControlInfo &exposureInfo = sensorInfoMap_.find(V4L2_CID_EXPOSURE)->second;
const ControlInfo &gainInfo = sensorInfoMap_.find(V4L2_CID_ANALOGUE_GAIN)->second;
@@ -248,6 +248,12 @@ int IPASoftSimple::configure(const ControlInfoMap &sensorInfoMap)
againMinStep_ = 1.0;
}
for (auto const &algo : algorithms()) {
int ret = algo->configure(context_, configInfo);
if (ret)
return ret;
}
LOG(IPASoft, Info) << "Exposure " << exposureMin_ << "-" << exposureMax_
<< ", gain " << againMin_ << "-" << againMax_
<< " (" << againMinStep_ << ")";