[libcamera-devel] [PATCH] pipeline: imx8-isi: Set SensorTimestamp metadata

Jacopo Mondi jacopo at jmondi.org
Mon Nov 21 13:55:58 CET 2022


Hi Laurent,

On Sun, Nov 20, 2022 at 07:20:30PM +0200, Laurent Pinchart wrote:
> Report the sensor timestamp in metadata. Use the timestamp from the
> first buffer. Accuracy could be improved by using the frame start event
> from the CSI-2 receiver, but the kernel driver doesn't support it yet.
>
> Signed-off-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>

Ack, and I can confirm it fixes an issue with the gstreamer
"videorate" element.

Reviewed-by: Jacopo Mondi <jacopo at jmondi.org>

Thanks
  j

> ---
>  src/libcamera/pipeline/imx8-isi/imx8-isi.cpp | 6 ++++++
>  1 file changed, 6 insertions(+)
>
> diff --git a/src/libcamera/pipeline/imx8-isi/imx8-isi.cpp b/src/libcamera/pipeline/imx8-isi/imx8-isi.cpp
> index a3dfd3fc529c..e51457ebc345 100644
> --- a/src/libcamera/pipeline/imx8-isi/imx8-isi.cpp
> +++ b/src/libcamera/pipeline/imx8-isi/imx8-isi.cpp
> @@ -994,6 +994,12 @@ void PipelineHandlerISI::bufferReady(FrameBuffer *buffer)
>  {
>  	Request *request = buffer->request();
>
> +	/* Record the sensor's timestamp in the request metadata. */
> +	ControlList &metadata = request->metadata();
> +	if (!metadata.contains(controls::SensorTimestamp.id()))
> +		metadata.set(controls::SensorTimestamp,
> +			     buffer->metadata().timestamp);
> +
>  	completeBuffer(request, buffer);
>  	if (request->hasPendingBuffers())
>  		return;
> --
> Regards,
>
> Laurent Pinchart
>


More information about the libcamera-devel mailing list