@@ -9,6 +9,7 @@ module ipa.soft;
import "include/libcamera/ipa/core.mojom";
struct IPAConfigInfo {
+ libcamera.IPACameraSensorInfo sensorInfo;
libcamera.ControlInfoMap sensorControls;
};
@@ -1412,8 +1412,14 @@ int SimplePipelineHandler::configure(Camera *camera, CameraConfiguration *c)
if (data->converter_) {
return data->converter_->configure(inputCfg, outputCfgs);
} else {
- ipa::soft::IPAConfigInfo configInfo;
- configInfo.sensorControls = data->sensor_->controls();
+ IPACameraSensorInfo sensorInfo;
+ ret = data->sensor_->sensorInfo(&sensorInfo);
+ if (ret)
+ return ret;
+
+ ipa::soft::IPAConfigInfo configInfo{ sensorInfo,
+ data->sensor_->controls() };
+
return data->swIsp_->configure(inputCfg, outputCfgs, configInfo, &data->controlInfo_);
}
}
Pass the CameraSensorInfo in to the configure phase of the IPA from the CameraSensor class, allowing the context to be used when configuring the IPA. Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com> --- include/libcamera/ipa/soft.mojom | 1 + src/libcamera/pipeline/simple/simple.cpp | 10 ++++++++-- 2 files changed, 9 insertions(+), 2 deletions(-)