[MPlayer-cvslog] CVS: main/DOCS/tech mpcf.txt,1.67,1.68

D Richard Felker III dalias at aerifal.cx
Thu Mar 3 22:10:39 CET 2005


On Thu, Mar 03, 2005 at 09:37:03PM +0100, Michael Niedermayer wrote:
> Hi
> 
> On Thursday 03 March 2005 20:42, D Richard Felker III wrote:
> > On Thu, Mar 03, 2005 at 06:16:53PM +0100, Michael Niedermayer CVS wrote:
> > > CVS change done by Michael Niedermayer CVS
> > >
> > > Update of /cvsroot/mplayer/main/DOCS/tech
> > > In directory mail:/var2/tmp/cvs-serv23240
> > >
> > > Modified Files:
> > >  mpcf.txt
> > > Log Message:
> > > partial indexes
> > > comments (with alternative suggestions and advantages) welcome
> >
> > wow! nice design!
> > of course i'd expect no less from michael..
> 
> :)
> 
> i expected to be flamed ...

I'm confused now, so maybe I still will... :)

> > > +index_distance
> > > + distance at which indexes are approximately stored, or 0 if there are
> > > + no indexes in the file
> > > + in every [x*index_distance, (x+1)*index_distance) interval, there
> > > + must be an index packet for every stream, and these packets must be
> > > + located prior to all frames within the interval
> > > + reasoning: this ensures good error recovery as there are many and
> > > + evenly distributed indexes, and also allows very quick finding of the
> > > + index packets
> > > +
> > > +index_modulo
> > > +index_id
> > > + each index packet contains every index_moduloth's keyframe of a stream,
> > > + so the i'th keyframe of a stream will be at least in packets with
> > > + (i % index_modulo) == index_id
> > > +
> > > +index_increment
> > > + the index_id increment value, this MUST be a relative prime to
> > > + index_modulo
> >
> > I'm confused what index_increment is used for.
> 
> hmm, not much, theres probably no need to store it in the file at all
> 
> 
> >
> > > + index_increment / index_modulo SHOULD be approximately 2/(sqrt(5)+1)
> >
> > And confused why this should be true..
> 
> so that the entries of n consecutive index packets are evenly distributed, 
> note though i dont have a proof that the golden ratio is the optimal value 
> here, i just think it is ...

Hmm, I misunderstood before, I think.. I had the impression that you
were not indexing every single keyframe, only some of them, so that
the index would not become insanely huge for audio. I also thought
that the index entries for a section of the file would be local to
that section of the file, but now it sounds to me like maybe they're
distributed all over the place across all the indices, which would
really be a pain since it would require leaving appropriate space and
seeking back to write indices. But I'm probably still confused, so
could you just give a good clear explanation of what's going on? :)
Your designs are usually very good but the specs you write are
confusing to mere mortals.

Rich





More information about the MPlayer-cvslog mailing list