[libcamera-devel] [PATCH 2/3] libcamera: ipu3: Report sensor timestamp
Laurent Pinchart
laurent.pinchart at ideasonboard.com
Tue Apr 13 04:45:08 CEST 2021
Hi Jacopo,
Thank you for the patch.
On Wed, Apr 07, 2021 at 06:06:43PM +0200, Jacopo Mondi wrote:
> Report the sensor's timestamp in the Request metadata by using the
> CIO2 buffer timestamp as a good-enough approximation.
s/a good-enough/an initial/
The \todo comment below shows that we'll need a better implementation,
but it can wait.
> The buffer's timestamp is recorded at DMA-transfer time, and it does not
> theoretically matches the 'start of exposure' definition, but when used
> to compare two consecutive frames it gives an acceptable estimation of
> the sensor frame period duration.
>
> Signed-off-by: Jacopo Mondi <jacopo at jmondi.org>
Reviewed-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
> ---
> src/libcamera/pipeline/ipu3/ipu3.cpp | 9 +++++++++
> 1 file changed, 9 insertions(+)
>
> diff --git a/src/libcamera/pipeline/ipu3/ipu3.cpp b/src/libcamera/pipeline/ipu3/ipu3.cpp
> index 519cad4f8148..d52e24f847a2 100644
> --- a/src/libcamera/pipeline/ipu3/ipu3.cpp
> +++ b/src/libcamera/pipeline/ipu3/ipu3.cpp
> @@ -1251,6 +1251,15 @@ void IPU3CameraData::cio2BufferReady(FrameBuffer *buffer)
>
> Request *request = info->request;
>
> + /*
> + * Record the sensor's timestamp in the request metadata.
> + *
> + * \todo The sensor timestamp should be better estimated by connecting
> + * to the V4L2Device::frameStart signal.
> + */
> + request->metadata().set(controls::SensorTimestamp,
> + buffer->metadata().timestamp);
> +
> /* If the buffer is cancelled force a complete of the whole request. */
> if (buffer->metadata().status == FrameMetadata::FrameCancelled) {
> for (auto it : request->buffers())
--
Regards,
Laurent Pinchart
More information about the libcamera-devel
mailing list