I won’t throw stones around, but yes NVidia should get it’s driver in check no matter how good their 3d performance may be, 2d and general desktop performance (including playing video) is more important.
But as a work around for the issue - “mplayer not playing video using the graphics card for the decoding” - there is chance it’s a bug in ffmpeg(though I’m pretty sure NVidia driver does something stupid or doesn’t do something).
The problem as it turns out is that mplayer/ffmpeg doesn’t try the codecs it’s supposed to try when playing through vdpau. The workaround is simple - add the following lines to ~/.mplayer/config :
[vo.vdpau] vc=ffmpeg12vdpau,ffwmv3vdpau,ffvc1vdpau,ffh264vdpau,ffodivxvdpau,-ffmpeg12,-ffh264,-ffwmv3,-ffvc1, vf-clr=yes
the second group actually does the job - it tells mplayer/ffmpeg to try the vdpau based codecs first and removes the corresponding not vdpau based codecs and then to try all others (the ‘,’ at the end) but only if your video output is vdpau. If I remember correctly vf-clr is because vdpau doesn’t play nice with filters (which is not a problem for just playing videos).
The first group is because my mplayer didn’t acknowledge that it’s using vdpau until I actually told it to use it although it still did >.>.
NOTES: this works for me :) it might break something on your system.
I’m using fedora 18 64bit with 650GTX and have rpmfusion and the russian fedora repo(some codecs come from them though I’m pretty sure it doesn’t have anything to do with vdpau) and nvidia driver 310.41 although with 319.x it worked too.
And as I mentioned the russian fedora repo - this doesn’t work with their build of mplayer2 and I can’t provide any inside for any other player.
p.s. XBMC works fine with vdpau(no configuration required) with any driver from 304.x or 310.x BUT segfaults with anything from 319.x(sometimes X goes down too :)) and most notably I can’t even make it play video normally trough any means with that version.