[MPlayer-dev-eng] B frame handling
D Richard Felker III
dalias at aerifal.cx
Mon Apr 12 21:24:14 CEST 2004
On Mon, Apr 12, 2004 at 07:56:09PM +0200, Moritz Bunkus wrote:
> Heya,
>
> > 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.
>
> Good. Now how to let mplayer handle it... Here's my current problem. For
> Matroska mplayer takes the difference between two consecutive packet's
> timecodes as the packet's duration. This will be screwed if the
> Maktroska demuxer hands over the pts over as they are stored in the
> Matroska file (e.g. for a coded order sequence of IPBB and 25fps the
> timecodes would be 0ms, 120ms, 40ms, 80ms).
Basically the problem is that G1's architecture totally sucks...
> Solution one is to re-order the timestamps but not the video packets in
> the demuxer. This does work - badly. The playback is choppy, and A/V
> sync is often off by one frame. Likely because the codec cannot output a
> frame after the P frame...
This is very ugly, I agree.
> Solution two is two re-create the packed bitstream in the demuxer. Yuck.
Also ugly but at least it would work.
> Solution three is to... well... modify other parts of mplayer to handle
> this correctly. But how? Do you have any suggestions or other solutions?
Replace it with G2? ;)
> > P.S. I HATE B FRAMES
>
> Me too, me too...
Just to elaborate...they add latency (bad), overcomplicate muxing,
demuxing, decoding, and presentation terribly, make temporal filtering
super-inefficient, and most importantly, they don't significantly
improve quality/bitrate and often even worsen it! But idiots still
insist on using them...
Rich
More information about the MPlayer-dev-eng
mailing list