[libcamera-devel] [PATCH v4 07/16] libcamera: rkisp1: Do not over-write metadata

Kieran Bingham kieran.bingham at ideasonboard.com
Fri Apr 30 21:10:40 CEST 2021


Hi Jacopo,

On 30/04/2021 17:00, Jacopo Mondi wrote:
> When a Request is completed upon receiving the IPA produced metadata,
> the metadata associated with the Request are over-written, deleting
> the information set at output buffer completion, such as the
> SensorTimestamp.
> 
> This commit applies to the RkISP1 pipeline handler the same change
> applied to IPU3 in commit 13a7ed7b1f1f ("libcamera: ipu3: Do not
> over-write metadata") but compared to that commit it uses the newly
> introduced ControlList::merge() function.

It sounds like 13a7ed7b1f1f ("libcamera: ipu3: Do not over-write
metadata") has added a todo which was waiting for a .merge() to become
available to solve this in the same way.

With this series adding the .merge() Can/Should we update the IPU3 in
the same way either as an extra patch on this series or make sure we do
it on top?

--
Kieran

> Signed-off-by: Jacopo Mondi <jacopo at jmondi.org>
> ---
>  src/libcamera/pipeline/rkisp1/rkisp1.cpp | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/src/libcamera/pipeline/rkisp1/rkisp1.cpp b/src/libcamera/pipeline/rkisp1/rkisp1.cpp
> index c75666391222..26f708242523 100644
> --- a/src/libcamera/pipeline/rkisp1/rkisp1.cpp
> +++ b/src/libcamera/pipeline/rkisp1/rkisp1.cpp
> @@ -365,7 +365,7 @@ void RkISP1CameraData::metadataReady(unsigned int frame, const ControlList &meta
>  	if (!info)
>  		return;
>  
> -	info->request->metadata() = metadata;
> +	info->request->metadata().merge(metadata);
>  	info->metadataProcessed = true;
>  
>  	pipe->tryCompleteRequest(info->request);
> 

-- 
Regards
--
Kieran


More information about the libcamera-devel mailing list