[MPlayer-dev-eng] The NUT backward pointers
Michael Niedermayer
michaelni at gmx.at
Mon Apr 12 22:55:25 CEST 2004
Hi
On Monday 12 April 2004 19:31, D Richard Felker III wrote:
> On Mon, Apr 12, 2004 at 06:52:29PM +0200, Moritz Bunkus wrote:
> > Hi,
> >
> > > Nut files absolutely MUST NOT contain non-monotone timestamps.
> >
> > Ah, that's my clue for a question I've maent to ask for some time
> > now. How will B frames be stored in nut? Same as in AVI (packed
> > bitstream)? Non packed? If non packed, in coding or display order? How
> > will they be timestamped? I'm experimenting with non-packed bitstream,
> > coding order in Matroska, but mplayer is not too happy about the
> > timestamps I hand it, and unless nut just stores a packed bitstream with
> > dummy frames then it'll have some problems as well (mplayer specific,
> > not due to the file format).
>
> Sorry, I wasn't being clear. Of course B frames are stored in coded
> order with correct timestamps on each, which means the timestamps are
> "non-monotone". But the monotonicity rule can only be violated for
> out-of-order decoding, nothing else.
>
> The packing like in AVI is absolutely forbidden. Each NUT packet must
> containe EXACTLY ONE coded frame, whether audio or video. Putting
> multiple frames in a single container packet is not allowed.
>
> BTW, Michael, do we need an "out of order" flag for frames? Or
> something like that?
hmm, IMHO no, but i just wanted to try bframes in nut, then realized that
ffmpeg is totally broken when encoding b frames, the only reason why it
workes with mpeg1/2 is that there are ugly (and not completly working) hacks
in the mpeg muxer
[...]
> P.S. I HATE B FRAMES
i also hate them and interlacing, h264 FMO (flexible macroblock ordering, yes
u guess right, in h264 u _may_ store MBs in any order not only normal raster
scan, for example u may store all the ones with a even x+y first, this is
really sick), ...
[...]
--
Michael
level[i]= get_vlc(); i+=get_vlc(); (violates patent EP0266049)
median(mv[y-1][x], mv[y][x-1], mv[y+1][x+1]); (violates patent #5,905,535)
buf[i]= qp - buf[i-1]; (violates patent #?)
for more examples, see http://mplayerhq.hu/~michael/patent.html
stop it, see http://petition.eurolinux.org & http://petition.ffii.org/eubsa/en
More information about the MPlayer-dev-eng
mailing list