[Mplayer-dvb] Slow performance on still scenes ?

Martin Hoffmann ma.hoff at t-online.de
Mon May 6 21:19:43 CEST 2002


Mhhh,

i have played around with various values - but i'm afraid anything i tried 
made it even worse :-(

Increasing the value (+0.2 and above) lead to lower framerate !? Somehow the 
visible output fps dropped below 25 fps ... using +1 even lead to 1 fps 
slideshow ...
Too Low values (beginning at around -0.05) lead to "hang-ups" while playing - 
only seeking could cure the freeze (sound and video freezed) !

However i had the feeling that -0.02 was a little better that +-0 - but not 
good enough the stuttering was quite audible !

However i cut the scene out of the movie - where it's quite visible and 
audible and i am currently uploading the clip to mplayerhq's ftp - the file 
is named stutter.avi and is around 6MB of size !
The problem occurs at around 7 seconds where the audience of a football game 
is shown and a little bit at 15 secs where a helmet of a football player is 
shown !
When watching this clip, don't get confused with the obvious slow motion 
scenes at the beginning, where the back of guy named phoenix is shown...

btw: Playing this clip with video out on Xserver and audio out via oss the 
clip plays just fine ... however i cannot test with -vo mpegpes and audio via 
oss - since my dvbs box hasn't a soundcard :-/

I hope this can help to solve this problem - it's quite annoying, since 
everything else is quite perfect :-)

Martin.

Am Sonntag, 5. Mai 2002 17:30 schrieben Sie:
> Hi,
>
> > But with -vop lavc the picture quality is much better !
> >
> > Any idea ?
> > I have tried several AVIs and it's all the same - only scenes with no or
> > ver y
> > low motion and high contrast (black white or Snow and sky and stuff) -
> > also it seems to happen with high detailed scenes ...
>
> high detail scenes needs much more bits - so such frames are big.
> probbaly they don't fit into DVB card's small buffer (256k?) so you get
> buffer underrun -> sound breaks.
>
> find this in ao_mpegpes.c:
>
> static int get_space(){
>     float x=(float)(vo_pts-ao_data.pts)/90000.0;
>     int y;
>
> and try to add -1..+1 offset to x, for example, try:
>
>     float x=(float)(vo_pts-ao_data.pts)/90000.0 + 0.2;
>
> it needs some experiencing with various values - tell me if you find a good
> one.
>
>
> A'rpi / Astral & ESP-team



More information about the MPlayer-dvb mailing list