[MPlayer-dev-eng] A few minor things about NUT
Rich Felker
dalias at aerifal.cx
Sun Jan 29 11:03:53 CET 2006
On Sun, Jan 29, 2006 at 07:43:09AM +0200, Oded Shimon wrote:
> > > i will never agree to a spec which has less then 3 copies of the critical
> > > headers
> >
> > I agree it's good to have copies of the headers, but I don't like the
> > basic conformance requirements not being locally verifiable. For
> > example if you start playing a network stream, and stop it before you
> > reach the third header repetition, did you just play an invalid nut
> > file? :)
>
> How do you even comply to this rule. My muxer puts headers at begginning,
> at end, and the very first at 8MB, so for small files it doesn't comply and
> wouldn't even know how to... Just repeat the headers twice at end? That's
> illegal I think. (Headers are always followed by syncpoint, and this is 2
> syncpoints with no data between them)
Nonsense; who ever said headers are followed by a syncpoint?! They're
followed by SOME type of startcode, which may be a syncpoint or
anything else.
So I think you can comply by writing the headers twice at the very
end, but I agree it's stupid..
> What do you do with the syncpoint that must appear after headers at EOF?..
> Just checksum the syncpoint pts and ptr?
This is complete and utter nonsense!!! Why the fuck would you have a
syncpoint that's not before frames? It's illegal!!
Syncpoint may come ONLY immediately before a frame. It must come
before a frame if the previous packet was anything except a frame
(e.g. a header). Perhaps this is where you got this nonsense idea
from?
> > Agree 4byte checksum is ok if you want it. The problem of course is
> > not that we _need_ a checksum, just that we need a little bit of
> > delocalization to ensure that the startcode didn't happen to be right
> > before the start of corruption. (I'm not proposing this, but a fixed
> > 32bit startcode or splitting the startcode into two pieces at the
> > beginning and end of the syncpoint should work just as well.)
>
> It makes it much harder to find by binary search...
I said I wasn't proposing it, just that it's equivalent in some sense.
>
> > > > > > What do you mean by max dts-pts difference?..
> > > > >
> > > > > every frame has a dts and a pts, i mean their maximum difference which is
> > > > > max_b_frames(+1) or so for mpeg1/2/4
> > > >
> > > > Right.. this will be quite useless for non delayed streams as dts=pts
> > > > always, so if anything i suggest max (abs) difference from last pts...
> > >
> > > ok
> >
> > I assume this is only an "if known" property?
>
> Of course.
OK.
Rich
More information about the MPlayer-dev-eng
mailing list