Kodi Community Forum

Full Version: XBMC for Linux VDPAU - NVIDIA GPU video decoding support (now in the mainline SVN)
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Merged into Linuxport.

VDPAU is a hardware video decoding library, provided by NVIDIA. Currently it only functions on their 8xxx and later GPUs.

Current state-of-play:
h264 decoding
mpeg1/2 decoding
VC1 decoding
Hardware deinterlacing
VDPAU post-processing

Instructions:

Make sure you have the latest NVIDIA driver. This link will point you in the direction of the current version.

VDPAU decoding is now in both the binary 9.04 release, and in the mainline SVN tree. To activate it simply install XBMC via your usual method, launch it, choose 'Settings->Video->Players' and change the Render Method to VDPAU.

XBMC-VDPAU is not currently capable of displaying overlay surfaces, so SSA/ASS subtitles will not be visable... if you miss these you'll have to change the Render Method back to Auto for the moment. Additionally standard definition mpeg2 content (ie DVD's) is currently handled in software for a related reason. This is obviously subject to change - PATCHES WELCOME!!!


motd
WOW
Ordering ASAP a sufficient video card Smile
Are there any xbmc-specific minimum requirements to this card except VDPAU compatibility? Or will the cheapest VDPAU card do the trick?
Good work!

What's the news on the color and other various syncing issues using the VDPAU renderer?
most of the answers can be found to the end of the development thread
http://forum.xbmc.org/showthread.php?tid=40362

but yes it currently has small sync issues (for me) and also doe snot play avi files at all (seg fault) so its not really a main xbmc use thing yet like motd2k says
motd2k Wrote:Current state-of-play:
h264 decoding enabled
mpeg12/WMV decoding not enabled
currently no fallback to none-VDPAU mode

Very interesting, I was wondering when someone would start this (sooner than I expected). Quick question, though. When you say decoding not enabled, does that mean this version cannot decode - that is to say, play - mpeg12/WMV, or merely that they are not decoded using VDPAU (so using the cpu, instead)?

Again, thanks for the start on this!
This branch will currently (15-FEB-09) only play h264 files. Obviously thats high on the priority list.

EDIT: 16-FEB-09 -- Should now play most files that XBMC would play before
Very nice! I just tried it with my GeForce 9500 GT/AMD 5600+ X2 and it seems to be a vary good start!

Using the cloverfield sample, i think it dropped only 1 frame, with both CPU's sitting at about 16%. On Atlantis, the CPU's go up to about 80%, dropping frames the whole way.

I also tried a BD Rip of National Treasure 2, which caused more problems than the cloverfield one, but a very significant and noticable improvement over the Atlantis build. With VDPAU, it used the same 16% on both CPUs, and on Atlantis, one CPU was pegged at 100%, and the other at about 60% (strange?).

Finally, 2Mbps/H.264 high profile DVD rip of X-Men 3 produced flawless results, at the same 16% CPU, while Atlantis gave flawless results with about 40-50% CPU.

There were some audio syncing issues in all but the X3 video, but that is an already known issue, so i didn't pay much attention to it. I did not notice any colorspace issues, but again, wasn't really looking for them.

In all, I am very impressed! I realize this is pretty new stuff, but I thought I would congratulate the authors and thank them for their awesome work, and share my findings.

-Brandon
  • Now supports accelerated MPEG1/2 and VC1.

  • Fallback to GLSL for formats which VDPAU doesnt accelerate - meaning that the branch will now playback all formats once more.

  • Changed the code to default to having the renderer set to VDPAU for machines with the libs installed.

  • Ability to change the renderer dynamically within XBMC
Just tried the new branch on my 2.93Ghz C2D with a 9500GT. It plays the killa sample absolutely flawlessly with roughly 25% total CPU usage; 15% CPU0, 10% CPU1. It also seamlessly fails back to software on formats unsupported by VDPAU. I didn't get a single crash and everything played, although compilation had a ton of warnings and whatnot. I'd even consider using this branch as my primary at this point, if we weren't directly cautioned not to do so. Great work!!
I know this is the linux forum but i just want to know is this going to be able to be ported to windows and mac?
Thanks for this Motd2k !

This is one of the best things EVER happened to me.

I tried all x264 mkv and mp4 files i have and NONE of them had problems playing even the ones play fine which were not be possible to accelerate with windows dxva.

I have 6% of cpu utilization playing back the killasample Big Grin
Subtitles work, zoom works ! Now we will have a lot of free CPU time having for possible software upscaling or HD audio decoding etc.

This implementation will be far better than any hardware accelerated stuff on any platform i saw.

I will donate right away to the team.
Keep up the excellent work.

Thank you once again.
Im looking forward to the day this is stable enough to get in the SVN builds =) Keep up the good work!
Znubbis Wrote:Im looking forward to the day this is stable enough to get in the SVN builds =) Keep up the good work!

And me, looking forward for this to work with ATI-card...

How long after Nvidia-card do you guys thing it will come to ATI?

/Söder
When ATI start supporting Linux with a driver i guess, or do they have one already ?
VDPAU is hardware agnostic, but I doubt we will see ATI or Intel backends. They both plan their own HW accel APIs.