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

Michael Niedermayer michaelni at gmx.at
Mon Jan 2 21:29:48 CET 2006


Hi

On Mon, Jan 02, 2006 at 08:02:17PM +0200, Oded Shimon wrote:
[...]
> The small addition I have to the goals:
> If there is an index, promise that no more than a single file seek are 
> necessary for seeking to pts.

this is not a clearly defined goal, requiring seeking to the last syncpoint
from which a given pts can be decoded in a given set of streams is a better
definition


> 
> I will not give up this goal.

no matter what consequences it has? without ANY justification why this goal
does any good for the end user?


> 
> > > This solution is overcomplicated and makes a compliant muxer harder to 
> > > write. When I thought it was the only viable solution, I voted for it, but 
> > > I now like the "pts per stream" idea much much better. It is much simpler, 
> > > and I've yet to find a flaw in it except overhead, and I think it might be 
> > > possible to reduce that. The steps to find the syncpoint you want:
> > 
> > personally iam much more liking the idea of droping multiple backpointers
> > and store a single one per syncpoint, i still have great doubt about the
> > advantages of multiple ones, you at least need 2 streams with large keyframe
> > distances, but this already means large distance in bytes and that simply isnt
> > possible on slow media, not to mention large distance might mean lots of time
> > to decode to a common timestamp ...
> 
> I'm pretty lost by what you have said here?...
> 
> A single back pointer CAN work, but only if you linear search the ENTIRE 
> region it is pointing to, which can be 2 or even 10mb. And to fullfill my 
> index promise, you'll also need to CACHE that, which is additionally 
> insane. The basic problem with a single back pointer is that there is no 
> way to avoid it sending you too far back.

my claim is that your "solution" does not avoid linear searching that region
you just dont realize it, ill try to show this again, lets assume we are
"interrested" in all streams, i hope you will agree that in that case there
is no difference between 1 back pointer and per stream back pointers? now
if there is no difference we will need to search that region too ...
you could agrue that things are different if we are just interrested in a
subset of the streams but IMHO such a file is simply broken its like adding
a broken stream and then designing a container which can "ignore" it

[...]
-- 
Michael




More information about the MPlayer-dev-eng mailing list