View Full Version : DGAVCDecNV 1.0.13: GPU decoding on Nvidia
Sagekilla
13th September 2008, 18:56
I think those GPUs have bitstream decode only.. I could be wrong.
Yoshiyuki Blade
13th September 2008, 18:58
It doesn't work with G80 GPU's: Geforce 8800 GTX, 8800 Ultra, 8800 GTS 640MB/320MB!
Yeah, I posted concerns on the main thread here: http://forum.doom9.org/showthread.php?p=1182305#post1182305. It was still worth a shot though.
I installed all the necessary files with pretty much the same errors as before. Gonna try it on my bro's 8400M GS.
CruNcher
13th September 2008, 19:11
Btw for all Nvidia users please can some confirm this behaviour (especialy on G92) http://forum.doom9.org/showthread.php?t=140767 :) would be nice if you could post your results there about this issue if you have the time :)
crypto
13th September 2008, 19:23
@neuron2: On my both my computers I received the error message on simply opening DGAVCNV saying:
ERROR: cuInt failed (100)
Hit Yes to continue ....
GPU decoder: Failed to create video decoder.
Same here, I also get both errors. The first when starting DGAVCIndexNV. The second when loading a stream. Plus when ending
cuvidDecodePicture: 400
Hit Yes to ....
CUDA is installed. Badaboom is running ok.
menlvd
13th September 2008, 19:26
waiting for DGAVCIndexNV.dll :)...
Inventive Software
13th September 2008, 19:31
@crypto: what card you running? Tried the DXVA checker Donald linked to in the 1st page?
ATTENTION EVERYBODY: This does NOT work with first generation 8 series cards based on the G80 GPU. These include the 8800 GTX, 8800 GTS 320MB / 640MB, and 8800 Ultra cards, as they do not have the VP2 PureVideo decoding engine.
Those with these cards reporting them working would do well to tell me so I can edit this statement. :)
Sagekilla
13th September 2008, 19:31
I still have to work out some issues with my desktop -- I'm not fully sure what's wrong with the system so it could be a number of things. My problem may or may not be related to yours.
kemuri-_9
13th September 2008, 19:33
waiting for DGAVCIndexNV.dll :)...
that would be DGAVCDecodeNV.dll
crypto
13th September 2008, 19:41
OK, I got it running. :)
Here are my results with TS 1080i PAFF 25 Hz:
FPS is 42-45
CPU is at 0 (That's zero) ???
@Inventive Software
GTS 8600 on Vista Ultimate 32 Bit Q6600
bob0r
13th September 2008, 19:47
Where do i read the FPS?
The FPS box at the bottom is empty here.
(8800 gts g92)
Guest
13th September 2008, 19:49
OK, I got it running. :) What did you have to do to solve the issue?
Guest
13th September 2008, 19:50
Where do i read the FPS?
The FPS box at the bottom is empty here.
(8800 gts g92) In the usual place in the Info dialog. What happens when you have display enabled? Does it play and display? Maybe you have single step set for playback.
Guest
13th September 2008, 19:51
CPU is at 0 (That's zero) Sorry, I'll try to optimize it.
bob0r
13th September 2008, 19:52
I used it out of the zip straight away.
Disable Display indeed reports FPS now, running on a bluray disc.
Guest
13th September 2008, 19:54
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. Can't duplicate it.
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 Is one color kernel and the other app? How would I know that? Why does my display show only one trace?
Bear with me, I'm a noob.
Guest
13th September 2008, 19:56
I used it out of the zip straight away.
Disable Display indeed reports FPS now, running on a bluray disc. It should be there for play, too, but you have to wait a few seconds for stats to accumulate.
crypto
13th September 2008, 19:56
@neuron2
It seems those having trouble are on Vista. It could be, there are different DLLs for XP and Vista. Did you ship those for XP?
BTW. Fantastic Job. Playback is flawless even for PAFF streams. I am really impressed.
Guest
13th September 2008, 19:58
Thanks for the kind words, and to all for your test results. Doom9 people are the best!
I don't know about the Vista issue. Have you looked at the Nvidia CUDA Zone site?
OK, I'm going to be gone for a while. Guess what I am working on. :)
bob0r
13th September 2008, 19:58
FPS varies around 44-48fps with 42 low and 54 peak.
Atak_Snajpera
13th September 2008, 20:00
Thanks for the kind words, and to all for your test results. Doom9 people are the best!
Yeah! You are the best example, man! :)
crypto
13th September 2008, 20:02
What did you have to do to solve the issue?
I removed the following DLLs from your package:
nvcuvid.dll
nvapi.dl
nvcuda.dll
and used these from the badaboom package:
nvcuvid.dll
nvdec.dll
nvapi and nvcuda where in my system32 directory. I have not installed the SDK (yet).
Guest
13th September 2008, 20:03
Hmm is it normal when DGAVCIndexNV is running the preview, i can't play any 1080p x264 .mkv smooth anymore?
Shouldn't that be CPU only with coreavc? :) I have to tell you that DGAVCIndexNV (and DGIndex, and DGAVCIndex) all have horribly inefficient YV12->RGB24 conversion for display. I'll be working on it but it is not important because when serving you don't have any display. What happens when you try it with the display disabled?
BetaBoy
13th September 2008, 20:03
Congrats neuron2!
Guest
13th September 2008, 20:05
Yeah! You are the best example, man! :) We're both forgetting rule 12, oops.
juGGaKNot
13th September 2008, 20:17
BTW, guys. You can have a secondary Nvidia card next to your ATI and still use it for decoding.
Does it matter what card ? a 8500GT is as good as a GTX260 ?
Guest
13th September 2008, 20:21
Here is my new generic decoder API:
extern int decoder_open(void (*Alloc)(int, int),
void (*FrameComplete)(void),
void (*Error)(char *, int),
int (*Info)(const char* fmt, ...),
unsigned char **frame_store);
extern int decoder_close(void);
extern int decoder_flush(void);
extern int decoder_reset(void);
extern int decoder_decode_nalu(unsigned char *buf, int len);
extern int decoder_set_mode(int); The decoder_open() call passes a pointer to the YV12 store for the decoded picture and pointers to callbacks as follows:
Alloc: called when a video sequence is seen to allow the app to allocate memory, also provides the frame size
FrameComplete: called when the app should receive a picture for display/serving
Error: called for a fatal error
Info: called for an info popup
The decoder_set_mode() call puts the decoder into a stepping or playing mode.
Guest
13th September 2008, 20:22
Does it matter what card ? a 8500GT is as good as a GTX260 ? It's been discussed. Almost, yes, except for memory bandwidth.
juGGaKNot
13th September 2008, 20:27
Wake up! This is only for decoding.
Yeah, I'm going to sleep now :|.
Atak_Snajpera
13th September 2008, 20:36
Looks like perfection, no more quad core's for encoders just a low price nVidia card next to your ATI
Wake up! This is only for decoding.
Sagekilla
13th September 2008, 21:06
@neuron2: Sorry, I was making assumptions that people knew what the graphs meant usually! Green is total CPU usage, and red presents the portion that the kernel is using. In this case it looks like nearly half of the cpu usage is from the kernel alone. DGAVCNV only used maybe 12 - 13% cpu but the total CPU usage was closer to 25%.
By the way, is this more or less optimized?
Edit: I'll try to reproduce my error again. I want to see if it happens twice -- I only saw it once when I decided to exit while I was still previewing.
Edit 2: Odd, the error seems to have been a one shot deal. I haven't had it again.
Guest
13th September 2008, 21:29
By the way, is this more or less optimized? Well I have avoided stupid things but there are some things that still need to be investigated. The connection to DX/D3D is a possible area for improvement. But I'm pretty happy serving 1920x1080 46fps @ 2% on my machine. As long as we can feed x264 faster than it can encode, we are golden.
Guest
13th September 2008, 21:30
Congrats neuron2!
Thank you.
BTW, any word on the CoreAVC API/SDK?
Sagekilla
13th September 2008, 21:47
Yes indeed, I'm glad you have this here now. Having my CPU usage for decoding basically halved (perhaps a third even, my desktop has a faster GPU) is a godsend.. Goodbye 0.7 fps decodes! :)
I absolutely cannot wait to test this on my monster of a setup.. GPU decoding on my desktop with a 9800 GTX, filter using MVDegrain3, pass it off with TCP serving to my laptop and encode it.
kemuri-_9
13th September 2008, 22:02
Edit 2: Odd, the error seems to have been a one shot deal. I haven't had it again.
I've gotten a bunch of spontaneous errors before.
And now trying it again, it's no longer working at all; spitting out some of the standard 'no supported GPU' errors :confused:
Guest
13th September 2008, 22:08
Reboot.
Dreassica
13th September 2008, 22:36
Works here too, ha to install badaboom and the drivers as well as copy the 2 files Crypto had to copy to the dir dgaindexnv is located in.
24 fps with max 28 on a 8800gts 512MB
Guest
13th September 2008, 23:13
The PureVideo deinterlacer looks REALLY good but reduces the frame rate by 25% (i.e., rate is 75% of the rate without deinterlacing) on full HD. I'll expose it as an option in the next alpha.
Blue_MiSfit
13th September 2008, 23:23
Awesome!!!
Currently downloading the CUDA driver for Vista x64 here... I *thought* I had it installed, but it wasn't working (the cuinit error).
Will report back ASAP!
Thanks Don!
-Derek
Blue_MiSfit
13th September 2008, 23:41
Okay, so i have the CUDA driver installed, and when I open DGAVCIndexNV I get the "failed to find CUDA compatible D3D device" error.
I have an 8800gt, which is both CUDA and DXVA compatible.
Vista x64 being a naughty little child perhaps?
Has anyone else gotten this working with Vista x64?
~MiSfit
rack04
13th September 2008, 23:49
Where do I get DGAVCDecodeNV.dll? It's not included in the zip file.
Guest
14th September 2008, 00:17
Has anyone else gotten this working with Vista x64? You'll have to do some research over at the Nvidia CUDA Zone website. Let us know when you find out.
Guest
14th September 2008, 00:17
Where do I get DGAVCDecodeNV.dll? It's not included in the zip file. You have to pay extra for that.
[Just kidding. I'm still working on it.]
menlvd
14th September 2008, 00:24
You have to pay extra for that.
Just kidding. I'm still working on it.
LoL :p
Ranguvar
14th September 2008, 00:27
LOL :p
I have Windows XP Pro SP2 x64, and a GeForce 9600GT 512MB. DGAVCIndexNV worked for a while (with bugs, explained later), until each time I started it, it wouldn't find my video card. I copied the files as mentioned, installed the CUDA driver and toolkit, and rebooted, and now it appears to be working again.
So, bugs.
1.) There is a significant amount of artifacting during playback in the indexer with DS's x264-encoded Touhou sample (here (http://mirror05.x264.nl/Dark/Flash/MountainofFaith.mp4)), and especially the lossless Touhou sample (here (http://mirror05.x264.nl/Dark/force.php?file=./LosslessTouhou.mkv)). I don't know if it's also in the decoded stream through AviSynth+DGAVCDecode.
2.) If I play either of those samples in the indexer, and then quit before stopping playback (with display on) I usually get the errors "cuvidMapVideoFrame: 201" and the same with the number 205, after I exit.
3.) In the lossless sample, if I seek to the middle of the video and then hit Play, the video does not play and no info is reported.
...and now I get the CUDA-compatible D3D device error again. :/
Thanks for your work, neuron2 :) Can't wait until this works well - it was able to play the non-lossless sample at 147+fps with no CPU usage (display off) before it stopped working. Promising :)
Guest
14th September 2008, 00:27
Let me know how you like the deinterlacer.
http://neuron2.net/dgavcdec/dgavcindexnv100a2.zip
Ranguvar
14th September 2008, 00:29
Is that the only change? If so, I won't test it, as there are critical problems on my system right now with it. But if there's fixes, I shall test and see if it works better.
Great work :)
Guest
14th September 2008, 00:29
1.) There is a significant amount of artifacting during playback in the indexer with DS's x264-encoded Touhou sample (here (http://mirror05.x264.nl/Dark/Flash/MountainofFaith.mp4)), and especially the lossless Touhou sample (here (http://mirror05.x264.nl/Dark/force.php?file=./LosslessTouhou.mkv)). I don't know if it's also in the decoded stream through AviSynth+DGAVCDecode. MP4 and MKV files are not yet supported, just as with DGAVCIndex.
Ranguvar
14th September 2008, 00:30
MP4 and MKV files are not yet supported, just as with DGAVCIndex.
I used the demuxed .h264 stream.
Atak_Snajpera
14th September 2008, 00:34
Let me know how you like the deinterlacer.
I would like to see some screenshots (yadif vs NV deiterlacer)
Guest
14th September 2008, 00:35
I used the demuxed .h264 stream. Thanks for giving those to me. :devil:
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.