[Mplayer-advusers] Bug? Anomalous CPU usage when playing HDTV clips.

John Stebbins stebbins at jetheaddev.com
Thu Apr 15 21:23:45 CEST 2004


An update for anyone following this thread.

I dug into the source for the i830 driver and made changes to fix the
problems I was experiencing.

First, this driver would not support an XV image with HD resolutions. I
had to change a #define to allow a larger number of cachelines.  I also
had to use VideoRam and CacheLines options in XF86Config to increase
these values.  I increased VideoRam to 64MB and CacheLines to 1440 (to
allow for 2 720p buffers).

Next, I attacked the performance issue.  I eliminated the busy wait in
PutImage. I modified the commands to the overlay engine so that it
doesn't wait for flip completions either. This was needed to prevent the
command ring from filling and eventually triggering another type of busy
wait. I didn't need to resort to triple buffering.  There is no image
tearing as long as the content frame rate is < twice the monitor refresh
rate. Using the benchmark option of mplayer, I can now play a 45 sec
720p clip in 19 sec.  This is on a P4 2.6 Ghz machine. I also tested my
changes using xvtest.  xvtest achieves a smidgen over 7000 fps with my
changes.  Its interesting to note that xvtest only reaches 1600 fps when
I'm using my radeon card due to the bandwidth limitation that I talked
about in a previous e-mail.  As I said before, if anyone has any insight
(or even a wild ass guess) into this bandwidth limitation issue, please
speak up.

John





More information about the MPlayer-advusers mailing list