Re: [PATCH 1/1] v4l: Document timestamp behaviour to correspond to reality

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Laurent,

On Mon, Jan 28, 2013 at 08:56:21PM +0100, Laurent Pinchart wrote:
> On Monday 28 January 2013 10:55:14 Hans Verkuil wrote:
> > On Fri January 25 2013 19:03:29 Sakari Ailus wrote:
> > > Document that monotonic timestamps are taken after the corresponding frame
> > > has been received, not when the reception has begun. This corresponds to
> > > the reality of current drivers: the timestamp is naturally taken when the
> > > hardware triggers an interrupt to tell the driver to handle the received
> > > frame.
> > > 
> > > Signed-off-by: Sakari Ailus <sakari.ailus@xxxxxx>
> > > ---
> > > 
> > >  Documentation/DocBook/media/v4l/io.xml |   27 ++++++++++++++-------------
> > >  1 files changed, 14 insertions(+), 13 deletions(-)
> > > 
> > > diff --git a/Documentation/DocBook/media/v4l/io.xml
> > > b/Documentation/DocBook/media/v4l/io.xml index 2c4646d..3b8bf61 100644
> > > --- a/Documentation/DocBook/media/v4l/io.xml
> > > +++ b/Documentation/DocBook/media/v4l/io.xml
> > > @@ -654,19 +654,20 @@ plane, are stored in struct
> > > <structname>v4l2_plane</structname> instead.> 
> > >  In that case, struct <structname>v4l2_buffer</structname> contains an
> > >  array of plane structures.</para>
> > > 
> > > -      <para>Nominally timestamps refer to the first data byte
> > > transmitted.
> > > -In practice however the wide range of hardware covered by the V4L2 API
> > > -limits timestamp accuracy. Often an interrupt routine will
> > > -sample the system clock shortly after the field or frame was stored
> > > -completely in memory. So applications must expect a constant
> > > -difference up to one field or frame period plus a small (few scan
> > > -lines) random error. The delay and error can be much
> > > -larger due to compression or transmission over an external bus when
> > > -the frames are not properly stamped by the sender. This is frequently
> > > -the case with USB cameras. Here timestamps refer to the instant the
> > > -field or frame was received by the driver, not the capture time. These
> > > -devices identify by not enumerating any video standards, see <xref
> > > -linkend="standard" />.</para>
> > > +      <para>On timestamp types that are sampled from the system clock
> > > +(V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC) it is guaranteed that the timestamp
> > > +is taken after the complete frame has been received.
> > 
> > add: " (or transmitted for video output devices)"
> 
> The uvcvideo driver currently uses monotonic timestamps corresponding to the 
> start of the frame :-)

Ah, I had almost forgotten this! :-) What would you think about changing it?
:-) I guess uvc is a little special since it receives packets, not frames.

-- 
Cheers,

Sakari Ailus
e-mail: sakari.ailus@xxxxxx	XMPP: sailus@xxxxxxxxxxxxxx
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux