Kodi Community Forum
VDPAU API for Linux released by NVIDIA today - GPU hardware accelerated video decoder - Printable Version

+- Kodi Community Forum (https://forum.kodi.tv)
+-- Forum: Discussions (https://forum.kodi.tv/forumdisplay.php?fid=222)
+--- Forum: Feature Requests (https://forum.kodi.tv/forumdisplay.php?fid=9)
+--- Thread: VDPAU API for Linux released by NVIDIA today - GPU hardware accelerated video decoder (/showthread.php?tid=40362)

Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28


- mythmaster - 2008-12-08

malloc Wrote:mailinator has a ton of alternate domains:


That's some very helpful message indeed. And an NVIDIA engineer to ask questions of as well. Smile

Thanks, but I won't bother with mailinator, I'll just set up email with my ISP.

I'm happy to help, because I love me some XBMC, especially since I can tie it in with mythtv and watch live tv. XBMC has exactly the most awesome UI that we linux HTPC enthusiasts have been "jonesing" for, and the *ONLY* drawback up to this point has been its lack of video acceleration. Integrating VDPAU support can change everything, and I wouldn't be surprised to see a distribution like Mythbuntu spring up around it if this happens.

BLKMGK is right -- the nvidia engineers want to see this adopted, and they are responsive to the community.

BTW, is there a mailing list or a forum thread where people working on this can collaborate? I don't want to "fix" something that's already been "fixed". I may not be able to effectively contribute anything, but I'd at least like to keep up with the progress.


- ashlar - 2008-12-08

If you have to build from scratch... bear in mind that a Core2Duo E8400 is plenty enough to decode even the craziest h264 content out there (ie. whatever bluray content you might think of). Get a motherboard with onboard video (Nvidia, ATI or Intel, ask around here) and invest on the CPU.

There's nothing magical coming out of hardware acceleration.


- mythmaster - 2008-12-10

mythmaster Wrote:... is there a mailing list or a forum thread where people working on this can collaborate? ...

Hmmm...I guess this means that no one is working on this. Bummer. Sad So very sad. Sad My heart -- it breaks into millions of pieces...


- althekiller - 2008-12-10

mythmaster Wrote:Hmmm...I guess this means that no one is working on this. Bummer. Sad So very sad. Sad My heart -- it breaks into millions of pieces...
No one's stopping you from starting the effort Wink


- mythmaster - 2008-12-11

althekiller Wrote:No one's stopping you from starting the effort Wink
Alright, I can at least handle managing the project. Give me a few days to get everything set up, though. I just received a 9300GS today, and I'll be testing it with VDPAU in both mplayer and mythtv, so that's a priority.

If any developer-types are interested in working on this, then PM me, and I'll give you links to the repo and mailing list/forum once I get them set up. I'll ask around in other forums for people interested in helping, also.

You guys just don't know how much we love XBMC's UI in the linux community. Getting some hardware accel in there would be freakin' awesome.


- BLKMGK - 2008-12-12

The mplayer thread is pretty active if you want to see what is being done by those guys. Personally I think the OpenCL stuff holds more promise right now but I'm no programmer.

http://www.nvnews.net/vbulletin/showthread.php?t=123095


- mythmaster - 2008-12-12

I wouldn't necessarily call myself a programmer either, but I do "get it". That's the first I've heard of OpenCL, thanks. It does look pretty promising.


- malloc - 2008-12-12

BLKMGK Wrote:The mplayer thread is pretty active if you want to see what is being done by those guys. Personally I think the OpenCL stuff holds more promise right now but I'm no programmer.

http://www.nvnews.net/vbulletin/showthread.php?t=123095

I'd say VDPAU would be better because it's designed for video. It does need more work though. OpenCL would mean writing everything from scratch. That will work for cases where VDPAU doesn't support a codec.


- BLKMGK - 2008-12-13

mythmaster Wrote:I wouldn't necessarily call myself a programmer either, but I do "get it". That's the first I've heard of OpenCL, thanks. It does look pretty promising.

The OpenCL spec was only just released and instead of being vendor specific it has buy-in from MANY vendors. Checkout the Slashdot article and comments that were posted within the last week about it - some of the comments posted were pretty good.

As for OpenCL vs VDPAU - VDPAU is NVIDIA specific and I've seen comments that seem to indicate that things like video overlays might be a problem when using OpenGL with it. It also seems to be profile specific which stinks if your video doesn't match their specs. OpenCL is a little more open ended and works across many platforms. I will agree that OpenCL doesn't appear to be video specific - except that they have specifically mentioned OpenGL-> "efficient interoperability with OpenGL, OpenGL ES and other graphics APIs." Now will that mean OpenGL speedups? Dunno' but if we get anything from it that's some help IMO. I guess we'll see. Meanwhile I am trying to keep watch on the ffmpeg and mPlayer forums to get a better handle on VDAPU speedups since I happen to like NVIDIA hardware Wink In any case I just want to see us get soem video acclerationCool


VDPAU testing - mythmaster - 2008-12-13

I have some preliminary VDPAU test results with mplayer:

System specs --

mobo: Gigabyte GA-MA78GM-S2H
cpu: AMD Phenom 9850 [1]
ram: 4 GB DDR 800 dual-channel [2]
vga: 512MB 9300GS
os: 32-bit Kubuntu
hd: 2 x 80GB Seagate SATA (AHCI mode) in RAID 0 on XFS
display: 17" LCD 1280x1024 (LOL)

Some "before" test results with unpatched mplayer:

480i mpeg2: 3-6% cpu
1080i mpeg2: 14-17% cpu

These are both high-action clips that I recorded with mythtv.

And "before" with the video clip samples from the nvidia mplayer patches README:

"Grey.ts" (H.264): Segmentation Fault
"Amazing_Caves_720.wmv": 12-15% cpu
"nature_704x576_25Hz_1500kbits.h264": 8-10% cpu
"FlightSimX_720p60_51_15Mbps.wmv" (VC-1): 20-32% cpu

Some "after" results with the 180.11 beta driver and patched mplayer:

480i mpeg2: 1-3% cpu (usu. <1% ... some tearing is evident)
1080i mpeg2: 1-3% cpu (usu. around 1.4% ... looks more "blocky" than normal)
"Grey.ts": 1-3% cpu
"Amazing_Caves_720.wmv": 1.5-4% cpu (usu. around 3% ... looks awesome)
"nature_704x576_25Hz_1500kbits.h264": <1 - 2% (usu. <1% ... some tearing)
"FlightSimX_720p60_51_15Mbps.wmv": ~2.2% cpu (only very slight tearing)

I understand that nvidia is aware of the minor tearing issues and they plan to resolve them, but their primary concern right now is just making sure that everything is functional.

I'll be testing with mythtv trunk over the weekend.


[1] Even though it works, this cpu isn't officially supported by this mobo. It doesn't appear to be using the L3 cache.
[2] Only 3 GB of ram are currently being used because of the 32-bit os.


- althekiller - 2008-12-13

Dunno why you guys keep comparing OpenCL to VDAPU when they aren't even close to the same thing. OpenCL is a generalized API to the GPGPU hardware which CUDA currently gives access to for Nvidia. It has nothing to do with the video acceleration hardware which will obviously provide much better performance increases. Not to mention the fact the OpenCL doesn't even appear to be implemented yet. Sure there is a specification and API header files but there are still years of development, testing, optimization and trying to get 3 huge competing companies to play nice before you see anything useful. Even then, you don't have a codec written and rest assured that will spend plenty of time in academia before the public sees it and is able to turn it into something useful. How many CUDA based apps have you seen? That password cracker is about the only thing useful I've seen outside of academic or proof of concept simulations, which is where this GPGPU stuff shines (great more realistic games...). Sure GPGPU could benefit media encoding and decoding, but I don't see that happening realistically since there is already a pretty heavy movement to do that type of stuff in its own specialized hardware. And why not? We have die space to burn, transistors aren't getting any bigger or less efficient, may as well ease up on the CPU's load where ever possible.


- BLKMGK - 2008-12-17

Is the GSOC project for H.264 speedups not already attempting to use such "generalized API"? OpenCL specifically mentions OpenGL in it's spec, my hope is that it will be able to provide speedups for OpenGL that are not vendor specific - unlike the VDAPU code which is not only vendor specific but profile specific too.

Correct OpenCL isn't done yet, not by a long shot. However it has support from many vendors and uses for many different projects so I am hoping it moves along somewhat quickly. Time will tell which works best but right now VDAPU just doesn't look liek it's going to be as useful as I'd first hoped. Has anyone tried porting some of the patches into the ffmpeg that XBMC uses to see if it's worthwhile?


- malloc - 2008-12-17

The GSOC project uses OpenGL, so yes, it is using a generalized API. OpenCL mentions OpenGL because the two can work together. You can do OpengCL operations on an OpenGL texture and vice versa. Of course this is no different than what can be done with a CPU. It's just faster because I don't have to keep reading and writing to the graphics card to have that kind of interaction.

Does OpenCL have MS backing yet? What about Linux? It could be a while before those two platforms get it, especially with MS promoting DirectX 11c.


- Deanjo - 2008-12-18

BTW Xine Picks Up Support For NVIDIA's VDPAU.

http://www.phoronix.com/scan.php?page=news_item&px=Njk0MA

Mailing list for xine-vdpau:
http://lists.kafic.ba/pipermail/xine-vdpau/2008-December/thread.html

The subversion repository:
svn://jusst.de/xine-vdpau

IRC:
Freenode
xine-vdpau


- BLKMGK - 2008-12-18

Microsoft was apparently pretty conspicuous by their NOT supporting OpenCL. However many varied hardware manufacturers ARE supporting it - S3, NVIDIA, AMD, Intel, etc..

Microsoft is apparently going to try and create their own "thing" from what little I have read and it will be something like what Apple is rumored to be doing. Hopefully somewhere along the line one of these technologies will be useful to XBMC. <sigh> I'd care less if my overclocked Celeron experiment had worked but sadly the $60 CPU couldn't cut it. XBMC desires cache it seems! I'd like to understand better why the AMD CPUs fare so poorly by comparison Sad

Deanjo - very interesting stuff and thank you for the additional reading! I've not dug into it yet and I cringe to ask but... any indication that this stuff will not be profile defendant? I personally really like the NVIDIA hardware but nothing I play fits the profiles I have seen mentioned so far <shrug>