[MPlayer-dev-eng] NUT cleanup
Oded Shimon
ods15 at ods15.dyndns.org
Tue Sep 6 20:41:44 CEST 2005
On Tue, Sep 06, 2005 at 07:05:19PM +0200, Michael Niedermayer wrote:
> Hi
>
> On Tue, Sep 06, 2005 at 07:41:56PM +0300, Oded Shimon wrote:
> [...]
> > > [...]
> > >
> > > > @@ -292,6 +301,8 @@
> > > > 0xDD672F23E64EULL + (((uint64_t)('N'<<8) + 'X')<<48)
> > > > info_startcode
> > > > 0xAB68B596BA78ULL + (((uint64_t)('N'<<8) + 'I')<<48)
> > > > +end_startcode
> > > > + 0xE8154EDB2A7CULL + (((uint64_t)('N'<<8) + 'E')<<48)
> > >
> > > what is the end_startcode good for? i dont remember any arguments against
> > > simply storing a 64bit index_ptr at the end except its "bleh" which well
> > > i dont really care about, i prefer a nut spec which is bleh over one which
> > > is complicated and bloated
> > > btw, FAQ:
> > > Q: why didnt you just store a 64bit int at the end?
> > > A: because its bleh
> > > Q2: but dont u see that now we have to search backward for that startcode,
> > > then parse th vlc forward, keep track of where the vlc started and subtract
> > > its value from that to find the index?
> > > A2: ?
> >
> > No, It's a bigger problem - I realized, if you just put a 64bit int at the
> > end, how the hell do you know if you have the end or not? Say I have an
> > incomplete file, The end data could be any random junk, and i'd have no way
> > of knowing if i really have the entire file or not!
>
> 1. check if the 64bit ptr points within the file (check needed no matter how
> its stored anyway)
> 2. seek there and check if the index_startcode is there (again we need to
> check this for all variants anyway)
> -> so IMHO the 64bit variant is much simpler
Wait, I still want an end_startcode - to know i've reached EOF if there is
no index... Basically without it you just have 8 last bytes appearing to
you pretending to be a frame...
- ods15
More information about the MPlayer-dev-eng
mailing list