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

Laurent Pinchart laurent.pinchart at ideasonboard.com
Mon Nov 21 14:27:55 CET 2022


On Mon, Nov 21, 2022 at 01:11:31PM +0000, Kieran Bingham wrote:
> Quoting Laurent Pinchart via libcamera-devel (2022-11-20 17:20:30)
> > 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>
> 
> This makes me wonder if we should have mandated metadata ... which is
> always expected to be reported in any successfully completed request.
> 
> If so - there's scope for some checks to be added to lc-compliance to
> help validate this during bringup of new platforms.

Absolutely, we should do so.

> > ---
> >  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