[libcamera-devel] [PATCH v4 12/16] libcamera: raspberrypi: Do not over-write metadata

Niklas Söderlund niklas.soderlund at ragnatech.se
Sat May 1 08:35:33 CEST 2021


Hi Jacopo,

Thanks for your work.

On 2021-04-30 18:00:22 +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 RaspberryPi 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.
> 
> Reviewed-by: Naushir Patuck <naush at raspberrypi.com>
> Signed-off-by: Jacopo Mondi <jacopo at jmondi.org>
> ---
>  src/libcamera/pipeline/raspberrypi/raspberrypi.cpp | 9 +++++++--
>  1 file changed, 7 insertions(+), 2 deletions(-)
> 
> diff --git a/src/libcamera/pipeline/raspberrypi/raspberrypi.cpp b/src/libcamera/pipeline/raspberrypi/raspberrypi.cpp
> index 2a917455500f..46f418aa8d73 100644
> --- a/src/libcamera/pipeline/raspberrypi/raspberrypi.cpp
> +++ b/src/libcamera/pipeline/raspberrypi/raspberrypi.cpp
> @@ -1312,9 +1312,14 @@ void RPiCameraData::statsMetadataComplete(uint32_t bufferId, const ControlList &
>  
>  	handleStreamBuffer(buffer, &isp_[Isp::Stats]);
>  
> -	/* Fill the Request metadata buffer with what the IPA has provided */
> +	/*
> +	 * Add to the Request metadata buffer what the IPA has provided.
> +	 *
> +	 * Do not overwrite controls set by the pipeline handler, for example
> +	 * SensorTimestamp.
> +	 */

The comment reads more like it belongs in the commit message then in the 
code. With the comment left unchanged,

Reviewed-by: Niklas Söderlund <niklas.soderlund at ragnatech.se>

>  	Request *request = requestQueue_.front();
> -	request->metadata() = controls;
> +	request->metadata().merge(controls);
>  
>  	/*
>  	 * Also update the ScalerCrop in the metadata with what we actually
> -- 
> 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