libcamera: ipu3: Do not over-write metadata
When a Request is completed upon receiving the IPA produced metadata,
the metadata associated with the Request were over-written, deleting
the information set, in example, at ImgU output buffer completion.
If any additional Request metadata should be registered by inspecting
the IPA produced metadata it has to be done without deleting the already
registered entry.
Fix this by replacing the metadata over-write with a todo entry.
This change fixes CTS which was broken due to missing metadata in
the completed requests.
Fixes: 9708f49fec ("libcamera: ipu3: Share parameter and statistic buffers with IPA")
Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Jacopo Mondi <jacopo@jmondi.org>
This commit is contained in:
@@ -1076,8 +1076,11 @@ void IPU3CameraData::queueFrameAction(unsigned int id,
|
||||
if (!info)
|
||||
break;
|
||||
|
||||
/*
|
||||
* \todo Parse the value of the controls returned by the IPA
|
||||
* in action.controls to register additional metadata.
|
||||
*/
|
||||
Request *request = info->request;
|
||||
request->metadata() = action.controls;
|
||||
info->metadataProcessed = true;
|
||||
if (frameInfos_.tryComplete(info))
|
||||
pipe_->completeRequest(request);
|
||||
|
||||
Reference in New Issue
Block a user