summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJacopo Mondi <jacopo@jmondi.org>2021-05-03 11:44:18 +0200
committerJacopo Mondi <jacopo@jmondi.org>2021-05-06 15:08:34 +0200
commitd9a68af06d7952089c8d00f6b3dc834c678fc16a (patch)
tree01867e80288d574310214ae71a64fefc82ab0bec
parentcb43c18040e41e02a8d74418f1ec31bd5e48bb3f (diff)
libcamera: ipu3: Merge IPA metadata controls
When a Request is completed upon receiving the IPA produced metadata, they should be merged with the metadata set by the pipeline handler before reporting them to applications. Use ControlList::merge() to collect the IPA produced controls to the request's metadata. Reviewed-by: Hirokazu Honda <hiroh@chromium.org> Reviewed-by: Niklas Söderlund <niklas.soderlund@ragnatech.se Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com> Signed-off-by: Jacopo Mondi <jacopo@jmondi.org>
-rw-r--r--src/libcamera/pipeline/ipu3/ipu3.cpp5
1 files changed, 1 insertions, 4 deletions
diff --git a/src/libcamera/pipeline/ipu3/ipu3.cpp b/src/libcamera/pipeline/ipu3/ipu3.cpp
index 88b7bd1e..ade8ffbd 100644
--- a/src/libcamera/pipeline/ipu3/ipu3.cpp
+++ b/src/libcamera/pipeline/ipu3/ipu3.cpp
@@ -1190,11 +1190,8 @@ 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().merge(action.controls);
info->metadataProcessed = true;
if (frameInfos_.tryComplete(info))