[Mesa-dev] Completing the VDPAU state tracker

Christian König deathsimple at vodafone.de
Wed Feb 29 10:11:51 PST 2012


On 29.02.2012 12:33, Andy Furniss wrote:
> Christian König wrote:
>
>>> xvmc is much better now its' buffers don't get mixed up, I saw it tear
>>> once but couldn't repeat.
>
> I spoke too soon about xvmc - I was concentrating on SD which is 
> "fixed" by the patches.
>
> HD with or without these is still quite broken.
>
> It doesn't look like out of order I would guess it could be a timing 
> thing - almost constant cadence, it looks like a lot of the time when 
> say, playing 30fps on 60Hz you are getting a couple of frames per 
> refresh then waiting a couple. It does vary over time but is 90% 
> wrong. The same stream forced to 60 fps looks OK.
>
> It could be an mplayer thing of course I will have to try something 
> different sometime and find some different streams.
>
> Until now I've mostly tested without vsync, but looking critically, 
> VDPAU is not quite there either, even with sw decode trying to play HD 
> at half refresh results in short periods of cadence that don't happen 
> with gl or xv. This is with or without these patches.
>
> cpufreq is set to perf for all these tests and turning GPU up doesn't 
> help.
>
I made some tests and measured the time between each page flip, and I 
have to say: WOW! I'm deeply impressed that you recognized that there is 
something wrong with the naked eye!

Here is the timing of playing a 30fps file on a 75Hz screen with 
VDPAU+mplayer:

..0266
..0399
..0266
..0266
..0399
..0399
..0266
..0266
..0399
..0266
..0399
..0399
..0266
..0266
..0399

Not 100% perfect, but pretty close. Adding the ability to schedule 
pageflips to a certain time in the future should hammer out even the 
slightest skew here.

Now lets take a look how XvMC+mplayer is performing:

..0133
..0666
..0266
..0133
..0533
..0266
..0133
..0666
..0266
..0133
..0666
..0266
..0133
..0533
..0266
..0133

Well, that is by far the worst you can do.

But now lets compare that to XvMC+xine and we get:

..0399
..0399
..0266
..0266
..0399
..0399
..0266
..0266
..0399
..0266
..0399
..0266
..0399
..0399
..0266
..0399

Also not 100% perfect, but compares quite well to VDPAU.

So now I have the strong tendency to blame mplayer for this problem.

Christian.


More information about the mesa-dev mailing list