[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