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

Rich Felker dalias at aerifal.cx
Sat Dec 31 05:19:07 CET 2005


On Sat, Dec 31, 2005 at 04:32:49AM +0100, Michael Niedermayer wrote:
> Hi
> 
> On Fri, Dec 30, 2005 at 10:23:55PM +0200, Oded Shimon wrote:
> [...]
> > > > 7. real back ptr is back ptr / (10 + number of streams)
> > > > 
> > > > The smallest amount of space a syncpoint can take:
> > > > 
> > > > <8 byte startcode> <1 byte pts> <1 byte per back ptr> <1 byte frame code>
> > > > 
> > > > That's (10+number of streams), back ptr can divide by that, it actually 
> > > > does make the index about 1kb smaller or so...
> > > 
> > > Saving 1k out of 80k is rather pointless, and this is rather ugly.
> > > It's nice to keep multiplication and division to a minimum anyway for
> > > small implementations (even tho I know it's already needed for
> > > timebase).
> > 
> > Ok, whatever. /8 is pretty in regards to >>3 anyway. :)
> 
> why exactly dont you remove more LSBs? for example if the back ptr only
> specifies the position in 16k units you would have to search 16k in worst
> case, this isnt much ...
> so a single byte back_ptr could cover 16k*128= 2mb instead of 1k

I considered this once before but there seemed to be a problem. I
can't remember what it was though. :(

> > > > 8. syncpoints too big?
> > >   [...]
> > > > Rich had the idea of "stream group" which makes a group of streams be 
> > > > treated effectively as one for all back ptr purposes. Not so good...
> > > 
> > > Yes I hate this idea...
> 
> what about delta backpointer lists, so that a syncpoint can reference another
> syncpoint and only store the different back pointers, this other syncpoint
> obviously must not reference anything but contain a complete list ...

This will require several seek operations on the media in order to
complete the seeking, which is quite negative.. Consider slow media.

Rich




More information about the MPlayer-dev-eng mailing list