[libcamera-devel] [PATCH v3 13/16] libcamera: raspberry: Report sensor timestamp

Hirokazu Honda hiroh at chromium.org
Thu Apr 22 09:27:54 CEST 2021


Hi Jacopo,

On Thu, Apr 22, 2021 at 4:11 PM Jacopo Mondi <jacopo at jmondi.org> wrote:
>
> Hi Hiro,
>
> On Thu, Apr 22, 2021 at 02:23:34PM +0900, Hirokazu Honda wrote:
> > Hi Jacopo, thank you for the patch.
> >
> > On Thu, Apr 22, 2021 at 1:03 AM Jacopo Mondi <jacopo at jmondi.org> wrote:
> > >
> > > Report the sensor's timestamp in the Request metadata by using the
> > > Unicam::Image buffer timestamp as an initial approximation.
> > >
> > > 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.
> > >
> > > Reviewed-by: Naushir Patuck <naush at raspberrypi.com>
> > > Signed-off-by: Jacopo Mondi <jacopo at jmondi.org>
> > > ---
> > >  src/libcamera/pipeline/raspberrypi/raspberrypi.cpp | 12 ++++++++++++
> > >  1 file changed, 12 insertions(+)
> > >
> > > diff --git a/src/libcamera/pipeline/raspberrypi/raspberrypi.cpp b/src/libcamera/pipeline/raspberrypi/raspberrypi.cpp
> > > index 6c6d31f78c88..ac135f95de12 100644
> > > --- a/src/libcamera/pipeline/raspberrypi/raspberrypi.cpp
> > > +++ b/src/libcamera/pipeline/raspberrypi/raspberrypi.cpp
> > > @@ -1414,6 +1414,18 @@ void RPiCameraData::unicamBufferDequeue(FrameBuffer *buffer)
> > >                         << ", timestamp: " << buffer->metadata().timestamp;
> > >
> > >         if (stream == &unicam_[Unicam::Image]) {
> > > +               /*
> > > +                * Record the sensor timestamp in the Request.
> > > +                *
> > > +                * \todo Do not assume the request in the front of the queue
> > > +                * is the correct one
> > > +                */
> >
> > Can you have any idea how to get rid of this assumption?
> > I am ok with this patch as-is while the todo should be resolved in the
> > near future.
>
> Yes, there's a plan
> https://patchwork.libcamera.org/patch/11992/
>

Good to know. I look forward to it.

-Hiro
> >
> > Reviewed-by: Hirokazu Honda <hiroh at chromium.org>
> >
> > > +               Request *request = requestQueue_.front();
> > > +               ASSERT(request);
> > > +
> > > +               request->metadata().set(controls::SensorTimestamp,
> > > +                                       buffer->metadata().timestamp);
> > > +
> > >                 /*
> > >                  * Lookup the sensor controls used for this frame sequence from
> > >                  * DelayedControl and queue them along with the frame buffer.
> > > --
> > > 2.31.1
> > >
> > > _______________________________________________
> > > libcamera-devel mailing list
> > > libcamera-devel at lists.libcamera.org
> > > https://lists.libcamera.org/listinfo/libcamera-devel


More information about the libcamera-devel mailing list