diff options
author | Jacopo Mondi <jacopo@jmondi.org> | 2022-11-04 10:09:08 +0100 |
---|---|---|
committer | Jacopo Mondi <jacopo@jmondi.org> | 2022-11-23 18:44:36 +0100 |
commit | 855228f7d5243278459f32fc372cbbecbde9cdfc (patch) | |
tree | 5ad408fa4732656bd1268a8c5ca68f4c41b308d2 /src/libcamera/pipeline/rkisp1/rkisp1.cpp | |
parent | 29d6d0e93b0193b70c6c0564eb424f2b6accf4a8 (diff) |
ipa: rkisp1: Use IPAConfig in IPA::configure()
The RkISP1 implementation of IPA::configure() still uses the legacy
interface where sensor controls (and eventually lens controls) are
passed from the pipeline handler to the IPA in a map.
Since the introduction of mojom-based IPA interface definition, it is
possible to define custom data types and use them in the interface
definition between the pipeline handler and the IPA.
Align the RkISP1 IPA::configure() implementation with the one in the
IPU3 IPA module by using a custom data type instead of relying on a map
to pass controls to the IPA.
Signed-off-by: Jacopo Mondi <jacopo@jmondi.org>
Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Diffstat (limited to 'src/libcamera/pipeline/rkisp1/rkisp1.cpp')
-rw-r--r-- | src/libcamera/pipeline/rkisp1/rkisp1.cpp | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/src/libcamera/pipeline/rkisp1/rkisp1.cpp b/src/libcamera/pipeline/rkisp1/rkisp1.cpp index 3d3a7086..4f0e1f8b 100644 --- a/src/libcamera/pipeline/rkisp1/rkisp1.cpp +++ b/src/libcamera/pipeline/rkisp1/rkisp1.cpp @@ -715,18 +715,18 @@ int PipelineHandlerRkISP1::configure(Camera *camera, CameraConfiguration *c) return ret; /* Inform IPA of stream configuration and sensor controls. */ - IPACameraSensorInfo sensorInfo = {}; - ret = data->sensor_->sensorInfo(&sensorInfo); + ipa::rkisp1::IPAConfigInfo ipaConfig{}; + + ret = data->sensor_->sensorInfo(&ipaConfig.sensorInfo); if (ret) { /* \todo Turn this into a hard failure. */ LOG(RkISP1, Warning) << "Camera sensor information not available"; - sensorInfo = {}; + ipaConfig.sensorInfo = {}; } - std::map<uint32_t, ControlInfoMap> entityControls; - entityControls.emplace(0, data->sensor_->controls()); + ipaConfig.sensorControls = data->sensor_->controls(); - ret = data->ipa_->configure(sensorInfo, streamConfig, entityControls); + ret = data->ipa_->configure(ipaConfig, streamConfig); if (ret) { LOG(RkISP1, Error) << "failed configuring IPA (" << ret << ")"; return ret; |