[MPlayer-dev-eng] Make ffmpeg MPEG1/2 decoder the default?

Siarhei Siamashka siarhei.siamashka at gmail.com
Tue Feb 19 00:41:31 CET 2008


On 19 February 2008, Uoti Urpala wrote:
> On Tue, 2008-02-19 at 00:36 +0200, Siarhei Siamashka wrote:
> > On 19 February 2008, Reimar Döffinger wrote:
> > [...]
> >
> > > Problem with xv on my PC here is that with -benchmark the video stops
> > > for ca. 0.5s every 2s. Driver does not seem to like when you push video
> > > frames too fast...
> >
> > Or maybe it is a problem with mplayer vo code. Please try the attached
> > patch.
>
> What's your justification for that change? Waiting for sync in
> flip_page() seems likely to hurt performance with little gain (even if
> it would happen to avoid the stopping behavior in this case).

Let's consider the situation when xserver is the bottleneck and is unable to
display the video frames in time. Xserver will just get flooded with
requests from mplayer with no chance to process everything in time,
overflowing its internal queues. Syncing with xserver from time to time
ensures that it copes with our input, call to XSync gets blocked when
needed, avoiding nasty effects like the one described.

When using just XFlush, the possibility when Xv is slower than needed is not
taken into account and I consider it a bug (race condition). Such situation is
almost impossible to be seen on desktop systems for normal video playback.
But it can be relatively easily reproduced on Nokia N800 device with its slow
graphics bus (video frames are transferred to the graphics chip via DMA, so
CPU resources are not consumed, but this process is still very slow and high
framerate can't be sustained).

I did not report it earlier, as I strongly suspected that this bugreport would
be immediately discarded as invalid :)

How much is the overhead of XSync? Better solutions are surely welcome.



More information about the MPlayer-dev-eng mailing list