[MPlayer-G2-dev] bypassing PTS in video filter layer

Arpi arpi at thot.banki.hu
Sat Aug 2 19:28:48 CEST 2003


> Perhaps we should have 3 or 4 levels of framedrop, instead of 2 like


> 3. (optional, big hack) Like 2, but use some sort of lookahead in
>    demuxer layer to identify when we're getting close to a new I
>    frame, and drop one or two P frames just before it. This probably
>    wouldn't help divx but might be nice for DVD/VCD where keyframe
>    interval is small.

It is really big hack, and simply doesn't worth it to implement.
There are several issues:
- needs big hacks in demuxers
- formats using short keyframe rate, also mostly uses (easily droppable)
  B frames. it's true in general, that there are 2 kind of
  containers/codecs, one for live streaming (no B frames, big keyframe distance,
  no seeking, no cpu usage scalability, no backward (or speed!=1x) playback)
  and one for offline playback and editing, like mpeg (short keyframe/gop
  distance, B frames, and so on, the opposite of the other).
- it's not completely true that I frames are keyframes in mpeg2. there are
  streams (actually most of them i've seen) using partial update in I frames,
  ie. you need to decode 2 or more I frames to get the complete picture,
  otherwise you'll see checkboard-liek thing. just try to seek in some mpeg2
  streams... (mostly true for DVD and DVB files). I frames don't use
  prediction (ie. reference frames), so you can seek to them, but also don't
  always cover the whole image area, so you can't simply skip them.

And anwyay, as you already mentioned: framedropping sucks.
We shouldn't optimize our player for frame dropping (esp. at times of 2.6ghz
p4 cpus being used even for word processing machines) but for speed and

A'rpi / Astral & ESP-team

Developer of MPlayer G2, the Movie Framework for all - http://www.MPlayerHQ.hu

More information about the MPlayer-G2-dev mailing list