View Full Version : DGAVCDecNV 1.0.13: GPU decoding on Nvidia
Guest
13th September 2008, 14:11
ATTENTION: If you do not use an Nvidia graphics card 8xxx or higher, this thread is not for you!
http://neuron2.net/dgavcdecnv/dgavcdecnv.html
If you want to assess the GPU performance, please read the section "Disable Display" in the users manual. And set the playback speed to Maximum under Options/Playback Speed! I am still optimizing frame rates and CPU utilization. Be aware that when serving through AVCSource() the performance will be comparable to that obtained with the display disabled (Disable Display option enabled).
I'm also interested in finding out what streams fail with GPU decoding, so please report them, preferably with stream details and a sample.
Guest
13th September 2008, 14:29
My results for a 1920x1080 PAFF stream from the Hauppauge HD PVR with display disabled are:
Frame rate: 46 fps
CPU utilization: 2%
My machine is Intel E8500 dual core @ 3.8GHz on ASUS Rampage Formula. Graphics card is eVGA 8500GT.
Atak_Snajpera
13th September 2008, 15:04
Jesus I've just bought 4850 :(
Guest
13th September 2008, 15:09
I might support ATI also. For now, let's get Nvidia done.
Sagekilla
13th September 2008, 15:09
So you're telling us.. we're going to get GPU acceleration of decoding that we can actually frame serve? :) I'll hop on my desktop and try this out. I have a 9800 GTX on that computer. I'll go pop in some blu-ray discs and make sure those work properly too. I'm most concerned with the performance on those, since transcoding a Blu-ray is a massive pain.
Edit: Unfortunately, I couldn't even copy nvapi.dll. It was locked by some process.. Trying to find out which one now.
Inventive Software
13th September 2008, 15:28
Don't have an NVIDIA GPU to test this with, but I'll be watching with baited breath. :)
Selur
13th September 2008, 15:34
@Sagekilla: "Trying to find out which one now." -> Unlocker (http://ccollomb.free.fr/unlocker/) might help :)
Sagekilla
13th September 2008, 15:34
Well I can't seem to actually figure out how to copy nvapi.dll without Windows throwing a hissy fit about it. I'm hesitant to copy the new NVApi.dll (dated Aug 2008) over the old one (Feb 2008) in my system32 directory, but I'll give it a shot I suppose. All in the name of faster decoding I suppose..
Got Unlocker working.. Unfortunately I have explorer.exe, taskeng.exe, and rundll32.exe using it on my laptop. My desktop is using it for rundll32.exe, nvsvc32.exe, and ntune.exe.
I hate dependencies.
G_M_C
13th September 2008, 15:42
Jesus I've just bought 4850 :(
I was just in time to cancel my order when i read about this upcoming release.
I'll wait some time before i decide to go Nv though, and i might still get the 4850 even if DGIndex doesn't Ati support Ati, cause i think is better imho. But in the mean time i give all kudo's to Neuron2 for this step in development, and i'll keep watching progress !
Guest
13th September 2008, 15:46
Well I can't seem to actually figure out how to copy nvapi.dll without Windows throwing a hissy fit about it. I'm hesitant to copy the new NVApi.dll (dated Aug 2008) over the old one (Feb 2008) in my system32 directory, but I'll give it a shot I suppose. All in the name of faster decoding I suppose..
Got Unlocker working.. Unfortunately I have explorer.exe, taskeng.exe, and rundll32.exe using it on my laptop. My desktop is using it for rundll32.exe, nvsvc32.exe, and ntune.exe.
I hate dependencies.You may not have to do that. Have you tried step 1 in my post? What happened?
Sagekilla
13th September 2008, 15:47
Still, I'd like to see both supported -- If either side comes out on top (and I usually go with the one who has the faster card) then if that one happens to be unsupported I'm in a bit of an unfortunate position :(
@neuron2: On my both my computers I received the error message on simply opening DGAVCNV saying:
ERROR: cuInt failed (100)
Hit Yes to continue ....
On my desktop where I had a Blu-ray available to open with:
GPU decoder: Failed to create video decoder.
Guest
13th September 2008, 15:48
BTW, guys. You can have a secondary Nvidia card next to your ATI and still use it for decoding.
Guest
13th September 2008, 15:49
If we can't get the DLL thing sorted, I'll contact Nvidia about it, but you can always install the CUDA driver and toolkit:
http://www.nvidia.com/object/cuda_get.html
Sagekilla
13th September 2008, 15:50
Is it just the CUDA driver that's needed? I tried installing the SDK and that did nothing for me.
I'm installing Driver --> toolkit now, I'd really love to get this running.
Guest
13th September 2008, 15:53
I don't know the install details yet. You need to install the CUDA driver and toolkit to do it the kosher way. I am hoping to find a way to avoid that for users.
When you install the CUDA driver say Yes when they ask if you want to replace your existing (possibly newer) driver.
Guest
13th September 2008, 15:55
On my desktop where I had a Blu-ray available to open with:
GPU decoder: Failed to create video decoder.
Don't know what you're trying to do here. Open what with? And open with what?
Sagekilla
13th September 2008, 15:58
I was using DGAVCNV to open a m2ts file ripped from a Blu-ray, after I got the first error message and I clicked "yes" to ignore this, I got the second one too. But that shouldn't be anything unusual since it already told me something failed to initialize. This was before I had the "correct" dlls btw ;)
Guest
13th September 2008, 16:02
What is your situation now?
Sagekilla
13th September 2008, 16:10
Now my computer won't start up.. I'll get back to you on this, my main desktop has been having various issues for a while now. I think it's a bit overdue for a reinstall of XP.
Guest
13th September 2008, 16:12
OK, guys, let's keep it simple for now until I get definitive details about it.
Install the CUDA driver and toolkit. Then unzip DGAVCIndexNV into a directory and run it from there. That should work. Works for me!
CruNcher
13th September 2008, 16:19
AMD Athlon 64 X2 Toledo 2.2 GHz
8800 GT (G92 512MB)
Forceware: 177.92 (Forcewithin Physix Driver Cuda enabled)
Windows XP SP3
Source: Construction Run (Casino Royale Blu-Ray)
DGavcindex Preview (F5)
Libavcodec = 10 fps 50% CPU (1 Full core)
Nvidia = 18 fps 40% CPU
Nvidia = 44 fps 15% CPU (Disable Display)
Nice i didn't had todo anything just extract and start and it seems to work :)
Tough i see with the Display on heavy Kernel Peaks like on a VMR9 surface see http://forum.doom9.org/showthread.php?t=140767 tough it's constantly peaking while DGAvcindex is previewing
Zwitterion
13th September 2008, 16:20
1920x1080 AVC stream from Blu-ray M2TS:
~45 fps
~3-5 % CPU
Q6600, 8800GT (177.92 beta), WinXP SP3 x86
I didn't need to shuffle any dll's around. I also didn't need to install the CUDA toolkit or SDK. Didn't get any error messages either.
Guest
13th September 2008, 16:23
Great, thank you! Then Sagekilla must have system issues.
Sagekilla
13th September 2008, 16:23
Installing the latest CUDA driver and the toolkit gave me the same 2 errors I mentioned before. I think this is more or less a cosequence that I actually have multiple copies of the files that need to be used, I have another copy of all the files you included in your AVC package in my system32, one of which (nvapi) is dated older than the one included.
Looks like it's time to get the good old XP install disc out again..
Guest
13th September 2008, 16:24
I've tried it on several machines and it seems clear that for some reason the AMD CPUs show higher utilization. I'm investigating that.
Guest
13th September 2008, 16:27
Installing the latest CUDA driver and the toolkit gave me the same 2 errors I mentioned before. I think this is more or less a cosequence that I actually have multiple copies of the files that need to be used, I have another copy of all the files you included in your AVC package in my system32, one of which (nvapi) is dated older than the one included.
Looks like it's time to get the good old XP install disc out again.. The error is CUDA_ERROR_NO_DEVICE. Run DXVA Checker and tell me the result. It's not going to work unless your DXVA situation is OK.
Guest
13th September 2008, 16:30
Time to get busy on DGAVCDecodeNV. :)
Inventive Software
13th September 2008, 16:31
You're making me real jealous at this point Don. :p
On a separate note, how easy is it to integrate/separate for MPEG-2 and VC-1?
Sagekilla
13th September 2008, 16:31
Where can I find this DXVA checker? I can't seem to find it.
The odd thing is my DXVA works perfect on my x264 files and my blu-ray discs on both systems..
Atak_Snajpera
13th September 2008, 16:32
Looks like it's time to get the good old XP install disc out again..
or maybe it's time for Vista SP1 :)
Sagekilla
13th September 2008, 16:34
Off Topic: I prefer not -- I've used Vista SP1 for a length period of time on my laptop and there's many things that simply do not suit me. Call me old fashioned but I still prefer XP over Vista. There's too many nuances in the OS that bother me when I'm using it. I'm not ready to waste another few hundred dollars on a new OS when I have my XP SP2 disc right here.
On topic: SS: http://img.photobucket.com/albums/v621/Sagekilla/DXVA.png
Atak_Snajpera
13th September 2008, 16:35
http://bluesky23.hp.infoseek.co.jp/index.html#DXVAChecker
Guest
13th September 2008, 16:35
DXVA Checker:
http://bluesky23.hp.infoseek.co.jp/dxvac/DXVAChecker_1900.zip
Yes, integrating MPEG, AVC, and VC1 is now thinkable. None of this stuff is easy. :)
Sagekilla
13th September 2008, 16:39
Thanks, I just found it. I posted the sample in my last post :)
Inventive Software
13th September 2008, 16:39
@Sagekilla: You have no H.264 hardware decoder with that chip.
EDIT: Blame Wikipedia for not giving PureVideo details for the card. Apparantly, it does, but I'd look at what drivers you have, and see whether it can be enabled in Control Panel.
Guest
13th September 2008, 16:43
No, that is the same thing my check shows. And see here:
http://www.nvidia.com/object/cuda_learn_products.html
Do you have HW acceleration enabled in your display properties?
I'll ask Nvidia what could cause this.
Sagekilla
13th September 2008, 16:45
@Inventive Software
Are you certain? http://en.wikipedia.org/wiki/Comparison_of_Nvidia_graphics_processing_units#Features_4 Also can you explain this if I don't have a hardware decoder? Link: http://img.photobucket.com/albums/v621/Sagekilla/HWDG.png
I'm getting DXVA fine in MPC, but I don't know why I can't get it in DGAVC.
Inventive Software
13th September 2008, 16:51
Spot my edit. ;) I mis-read, but still, my first suggestion would be to update the drivers. NVIDIA have a habit of occasionally changing a few settings between driver revisions. :)
Sagekilla
13th September 2008, 16:52
That it does.. Oddly though, I'm running the latest CUDA driver + toolkit as listed on the website -- yet still nothing! :( I believe it was the 177.84 driver I downloaded.
Guest
13th September 2008, 16:58
Maybe your system has seized the CUDA context. Try turning off DXVA wherever it may be enabled. Turn everything off for ffmpeg, for example. Just for testing...
Diodato
13th September 2008, 17:23
Works right of the box. But I have the CUDA SDK installed.
WinXP SP3
E6600@3.0GHz
8800 GTS 512MB
nVidia display drivers v177.84
Source: sat DVB-S2 stream (1920x1080, HP@L4.0)
FPS: 45-50
CPU: 6-11%
Nice work Donald!
Atak_Snajpera
13th September 2008, 17:41
it would be nice if somebody could test speed during transcoding from blu-ray -> x264 rip. (software decoding vs hardware decoding)
Guest
13th September 2008, 17:42
it would be nice if somebody could test speed during transcoding from blu-ray -> x264 rip. (software decoding vs hardware decoding)
That can't be done until I complete DGAVCDecodeNV. Coming soon as I've already worked through all the quirks of using the GPU.
Sagekilla
13th September 2008, 18:02
I had to delete all the dlls except nvcuvid.dll on my laptop, but I got it working on my laptop. I installed the SDK beforehand to make sure this would work. I still don't want to try anything since I have several processes -- including a scheduler --- depending on nvapi.dll that I don't feel safe replacing my system32 copy.
C2D @ 2.16 GHz
8600M GT
Vista SP1 w/ CUDA 177.84 drivers + toolkit
12 - 17% CPU
38 - 48 fps (averaging 46ish, only dips to 38 rarely)
Source: Pirates of the Carribean 3, blu-ray rip
So it's definite something went bad with my desktop. I'm going to disregard this since I'll be reinstalling XP on it anyway.
@neuron2: Let me know when you get a working copy. I'll be glad to do some beta testing for you on my laptop. My last transcode (PoTC3) took 80 hours on a 2 GHz Opteron 170. Decoding Blu-Ray + light filtering (Read: MVDegrain3) + high compression in x264 => 0.6 - 0.7 fps in x264. So, this would be a HUGE benefit to have ;)
lucassp
13th September 2008, 18:19
Works right out the box with ForceWare 177.92 (no CUDA SDK/Toolkit installed) on: 8800GT 512MB, XP SP3, C2D E8400@3,5GHz!
Yoshiyuki Blade
13th September 2008, 18:24
Ok, before I go ahead and install the CUDA kit, here are the error messages I'm getting:
- Upon opening DGAVCIndexNV, I recieve the warning message, "ERROR: cuInit failed (100)" Hit yes to continue blah blah, cancel to supress...
- Attempting to open an AVCHD video file gives me this error message, "GPU decoder: Failed to create video decoder"
- When closing the program I get a warning. "cuvidDecodePicture: 400" Hit yes to continue blah blah, cancel to supress...
The two DLL files you included with the program were actually already in the SysWOW64 folder (basically System32 for 64-bit Windows OSes), and the same error messages came up before and after I replaced them. Using an 8800 GTX. I'm going to install the 3 files right now. I've done this before to test the Folding@Home GPU client so it should be no problem to install.
kemuri-_9
13th September 2008, 18:27
It's working fine for me.
worked right out of the zip on my
8600 GT (512MB)
XP x64 SP2
Phenom 9850
took 2 mins to run through my AVC .TS that's 24min @ 720p60.
the standard libavcodec version couldn't even decode these .TS files either!
while it was saving the project i was watching the process explorer graphs for it, was using 25% CPU utilization (1 core)
about 50% of the 25% was attributed to kernel times for the I/O
in play mode it does 43 fps with 20% cpu utilization, half still with kernel times
Daodan
13th September 2008, 18:46
Tested a bit with a 25mbit 1080p30. With display disabled I get ~40fps with 8800gt 256mb and 10% off e6400 oc. I get 120fps with coreavc in timecodec. The cuda way should be faster however while encoding that output as well.
Sagekilla
13th September 2008, 18:49
I found what might be a bug -- If I exit DGAVCNV while previewing a movie (disable display is checked) I simply get an error message from windows telling me the program has stopped working. No other debug info. On another note, I've also noticed the issue with half the CPU usage being towards kernel usage. Take a look here: http://img.photobucket.com/albums/v621/Sagekilla/kernusage.png
lucassp
13th September 2008, 18:53
Using an 8800 GTX.
It doesn't work with G80 GPU's: Geforce 8800 GTX, 8800 Ultra, 8800 GTS 640MB/320MB!
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.