[MPlayer-dev-eng] Lots of stuff for NUT

Michael Niedermayer michaelni at gmx.at
Tue Jan 10 03:04:38 CET 2006


Hi

On Mon, Jan 09, 2006 at 05:42:33PM -0500, Rich Felker wrote:
[...]
> > > "Limited seek info" (your method)
> > > - extremely low overhead
> > > - approximate seeking is very fast
> > > - accurate seeking is very slow, even with index

with my suggestion of an index with
keyframe flags per syncpoint & stream it needs _rarely_ 2 seeks
and normally 1 while yours always can do it in one, thats not very slow

[...]

> 
> > > - demuxer implementation is somewhat more complex
> > 
> > i dont see why
> 
> Again if you only care to have your demuxer do really bad approximate
> seeking, it's not more complex.

so we agree here, we just disagree about the "badness"


> 
> If you want my old requirement (latest point such that ALL streams
> have keyframe between that point and target pts) then it's somewhat
> more complicated due to syncpoint timestamp not having a good
> definition. (As far as Oded and I can tell, it's impossible to make a
> good definition for it without complicating the muxer a LOT..)
> 
> If you're writing a demuxer that can seek to any keyframe, it will
> have lots of complications. This is the case I'm assuming since I want
> a complete, full-featured demuxer.

well, but your pts per stream method fails for closed GOP mpeg1/2/... files
too ...
for example:

pts: 1423756A89DBC
dts: 0123456789ABC
     IPBBPBBIBBPBB

lets assume complete knowledge about all keyframes
seek to pts=9 you will go to the first I frame and if you want, decode until
you reach that frame
now the catch is that if you would have seeked to the second I frame the mpeg
decoder does output the b frames as they dont depend upon the previous frame
(closed gop ...) so you would get frames for pts 8 and 9 before the I frame
your method is off by a whole GOP ...

[...]
-- 
Michael




More information about the MPlayer-dev-eng mailing list