ipa: simple: softisp: Extend to pass metadata
Extend the Simple IPA IPC to support returning a metadata ControlList when the process call has completed. A new signal from the IPA is introduced to report the metadata, similarly to what the hardware pipelines do. Merge the metadata reported by the ISP into any completing request to provide to the application. Completion of a request is delayed until this is done; this doesn't apply to canceled requests. Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com> Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com> Signed-off-by: Milan Zamazal <mzamazal@redhat.com> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
This commit is contained in:
committed by
Laurent Pinchart
parent
4e343af7df
commit
fb99081586
@@ -55,6 +55,11 @@ LOG_DEFINE_CATEGORY(SoftwareIsp)
|
||||
* \brief A signal emitted when the statistics for IPA are ready
|
||||
*/
|
||||
|
||||
/**
|
||||
* \var SoftwareIsp::metadataReady
|
||||
* \brief A signal emitted when the metadata for IPA is ready
|
||||
*/
|
||||
|
||||
/**
|
||||
* \var SoftwareIsp::setSensorControls
|
||||
* \brief A signal emitted when the values to write to the sensor controls are
|
||||
@@ -141,6 +146,10 @@ SoftwareIsp::SoftwareIsp(PipelineHandler *pipe, const CameraSensor *sensor,
|
||||
}
|
||||
|
||||
ipa_->setIspParams.connect(this, &SoftwareIsp::saveIspParams);
|
||||
ipa_->metadataReady.connect(this,
|
||||
[this](uint32_t frame, const ControlList &metadata) {
|
||||
metadataReady.emit(frame, metadata);
|
||||
});
|
||||
ipa_->setSensorControls.connect(this, &SoftwareIsp::setSensorCtrls);
|
||||
|
||||
debayer_->moveToThread(&ispWorkerThread_);
|
||||
|
||||
Reference in New Issue
Block a user