[NUT-devel] r20862 - trunk/DOCS/tech/nut.txt
Michael Niedermayer
michaelni at gmx.at
Mon Nov 13 16:21:06 CET 2006
Hi
On Mon, Nov 13, 2006 at 12:56:56PM -0000, Måns Rullgård wrote:
>
> Michael Niedermayer said:
> > Hi
> >
> > On Sun, Nov 12, 2006 at 09:42:17PM -0500, Rich Felker wrote:
> >> On Sun, Nov 12, 2006 at 01:24:57PM +0100, michael wrote:
> >> > Author: michael
> >> > Date: Sun Nov 12 13:24:57 2006
> >> > New Revision: 20862
> >> >
> >> > Modified:
> >> > trunk/DOCS/tech/nut.txt
> >> >
> >> > Log:
> >> > least restrictive dts ordering rule which ensures frames are in decoding order
> >> >
> >> >
> >> > Modified: trunk/DOCS/tech/nut.txt
> >> > ==============================================================================
> >> > --- trunk/DOCS/tech/nut.txt (original)
> >> > +++ trunk/DOCS/tech/nut.txt Sun Nov 12 13:24:57 2006
> >> > @@ -670,6 +670,8 @@
> >> > Pts of all frames in all streams MUST be bigger or equal to dts of all
> >> > previous frames in all streams, compared in common timebase. (EOR
> >> > frames are NOT exempt from this rule)
> >> > + Dts of all frames MUST be bigger or equal to dts of all previous frames
> >> > + in the same stream
> >>
> >> This is guaranteed by the definition of DTS and the above condition on
> >> PTS, isn't it?
> >
> > i dont know but just looking at the definition of decode_delay gives me
> > doubt
> > "decode_delay
> > maximum time between input and output for a codec, used to generate
> > dts from pts
> > is set to 0 for streams without B-frames, and set to 1 for streams with
> > B-frames, may be larger for future codecs
> > decode_delay MUST NOT be set higher than necessary for a codec."
> >
> >
> > what is the "maximum time between input and output for a codec" ?
> > its not the time between a frame input and output IPBBB ->IBBBP (=3)
> > its neither the smallest number so that dts are monotone (IPPPP)
> > and codec is decoder + encoder that too makes no sense
> >
> > i dont know what i was thinking when i wrote that :(
> >
> >
> > its rather
> > dts of a frame is the time when it is input into the decoder
> > pts is the time of presentation of the first corresponding decoded sample
> > and decode_delay is then the size of the timestamp sorting buffer that
> > the above has a solution for
> >
> > note, the above is a little fuzzy i know but if we define pts like
> > pts is the time of presentation of the first sample affected by the frame
> > then IPBBB would have I.pts=0 P.pts=1 as the b frame is affected by P
> >
> > comments, objections?
> > (if there are no objections then ill change that in the spec)
>
> Not that my word counts for much around here, but that is not a good definition.
> The PTS must be defined as the presentation time of the first frame/sample that
> is completed by that coded frame. With your suggested definition, a coded IPBB
> sequence (displayed IBBP) the PTS of the P and B frames would all be 1. This
> is clearly not a good situation.
thanks for the suggested improvement, ive added your pts definition
[...]
--
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
In the past you could go to a library and read, borrow or copy any book
Today you'd get arrested for mere telling someone where the library is
More information about the NUT-devel
mailing list