[MPlayer-dev-eng] Nut proposal [Re: Cleaning your nuts]

Michael Niedermayer michaelni at gmx.at
Thu Apr 22 19:12:32 CEST 2004


Hi

On Thursday 22 April 2004 18:39, D Richard Felker III wrote:
[...]
> > IMHO instead of this +1/-1/0 mess a simple n bits for stream id and 5-n
> > for size_lsb with n stored in the main header seems to be a better choice
>
> IMO this is bad. Consider a file with just 1 audio and video stream,
> but 7 subtitle streams. (This is an ideal file! :)
>
> You have 9 streams, so 4 bits are needed for streamid. Thus you can
> only code audio packets up to 255 bytes without wasting an extra
> header byte. But subtitle packets are VERY INFREQUENT and thus you
> don't need efficient coding for their headers. It would make a lot
> more sense to only use 1 bit for streamid (0=vlc-coded, 1=audio) and
> have 4 bits left for size!
yes, if 2^n > stream_count then one of them would mean vlc-coded

[...]
> > > Comments? Michael? Ivan?
> >
> > i think we could reduce the number of bits needed for the pts part of the
> > header, as the first after a type 2 frame must be full-pts, and
> > afterwards, if only +1 timestamps occured which for video is likely,
> > there is just +1 vs full pts
>
> The problem is audio. PTS can increment by different values depending
> on the size (in samples) of the frame. Think vorbis. That's why we
> need 3 predictors. But it matters for video too. With mixed 24/30 fps
> [inverse telecined] video, you'll have +4 and +5 timestamps (in
> 120000/1001 timebase).
i think u missunderstood me, the idea was to make the number of bits variable 
depending upon the past
first packet of a stream after type 2 frame: 0 bits, must be full timestamp
second packet: 1 bit, full vs last delta
following packets: 1 or 2 bits depending upon the number of different delta 
pts in the past

[...]
-- 
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