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

Niklas Söderlund niklas.soderlund at ragnatech.se
Wed Apr 21 20:40:37 CEST 2021


Hi Jacopo,

Thanks for your work.

On 2021-04-21 18:03:10 +0200, 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.
> 
> Fixes: 0eb65e14e18d ("libcamera: pipeline: rkisp1: Attach to an IPA")
> 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 549f4a4e61a8..c3d390f775f2 100644
> --- a/src/libcamera/pipeline/rkisp1/rkisp1.cpp
> +++ b/src/libcamera/pipeline/rkisp1/rkisp1.cpp
> @@ -362,7 +362,7 @@ void RkISP1CameraData::metadataReady(unsigned int frame, const ControlList &meta
>  	if (!info)
>  		return;
>  
> -	info->request->metadata() = metadata;
> +	info->request->metadata().merge(const_cast<ControlList &>(metadata));

I like the change but this cast makes me think twice of the merge() 
signature. Could we make the argument a const reference?

>  	info->metadataProcessed = true;
>  
>  	pipe->tryCompleteRequest(info->request);
> -- 
> 2.31.1
> 
> _______________________________________________
> libcamera-devel mailing list
> libcamera-devel at lists.libcamera.org
> https://lists.libcamera.org/listinfo/libcamera-devel

-- 
Regards,
Niklas Söderlund


More information about the libcamera-devel mailing list