View Full Version : DGAVCDecNV 1.0.13: GPU decoding on Nvidia
Renzz
5th November 2008, 10:22
Can I make a minor, aesthetic request? Could the server process be made to run in the System Tray? As far as I can see, it doesn't need to be a windowed process and it would be nice to keep it out the way - I do like a tidy desktop :)
slip_
5th November 2008, 11:45
G80 chips don't have VP2, so you'll need to get a new graphics card.
Is this true ?? :( :( :(
What Nvidia driver version are you running?
Using version 178.08
Guest
5th November 2008, 14:04
Is this true ?? It's not fully clear to me. I think it may be, as Nvidia just told me that indeed that card does not have the VP2. On the other hand, I think it works for Badaboom and crypto and bob0r have things working with it. E.g.:
http://forum.doom9.org/showthread.php?p=1183174#post1183174
Hopefully they will comment on it, or you could PM them about it.
I have recently upgraded to a 9600GT, and the performance is leaps and bounds above the 8500GT.
Guest
5th November 2008, 14:19
Can I make a minor, aesthetic request? Could the server process be made to run in the System Tray? Good idea, I'll do that.
nm
5th November 2008, 14:42
It's not fully clear to me. I think it may be, as Nvidia just told me that indeed that card does not have the VP2. On the other hand, I think it works for Badaboom and crypto and bob0r have things working with it. E.g.:
http://forum.doom9.org/showthread.php?p=1183174#post1183174
bob0r has the 512 MB G92 version of 8800 GTS instead of 320 MB G80.
crypto
5th November 2008, 20:06
..I think it works for Badaboom and crypto and bob0r have things working with it
...
Hopefully they will comment on it, or you could PM them about it.
I have a 8600 GTS 256MB (not 8800 GTS) and DGAVCDecNV working with it.
I guess DGAVCDecNV does not only need CUDA (which is supported on 8800 GTS) but also a VP2.
The 8600 GTS (G84) has a VP2, the 8800 GTS (G80) not (with the exception of the 512 MB model which has a G92).
Sorry for that.
As I see it, all GPUs since G84 have a VP2 and can be used with DGAVCDecNV.
GeForce 8300 GS
GeForce 8400 GS
GeForce 8500 GT
GeForce 8600 GS
GeForce 8600 GT
GeForce 8600 GTS
GeForce 8800 GS
GeForce 8800 GT
GeForce 8800 GTS 512MB only
All GeForce 9 series
ultratoto14
6th November 2008, 09:32
I have some problems with the CUDA server. I've got 2Go of memory. Windows has 1Go of free memory when the AVS starts. After a while, the Cuda server takes only few megs but windows complains about low memory and want to close only CUDA Server. When i close the server it crashes Firefox. Is it a bad shared memory allocation this is random but it occurs 3 times on 10 encodes.
Guest
6th November 2008, 13:27
There is no dynamic allocation at all in the server. And the shared memory is completely static.
There is a memory sizing issue with 1920-wide clips that I have fixed in my local build. Maybe it's related. I'll release a new version tonight with that fix, minimize to systray, and double rate deinterlacing.
ultratoto14
6th November 2008, 13:31
This is on a 1920 clip. So i wait for it to launch my encode. Thanks again for your work.
Guest
6th November 2008, 13:52
I also just reviewed the code and I see that I haven't freed the shared memory when the server is closed! So if you've opened and closed it multiple times you may accumulate orphaned memory. I have just now fixed that and will release it tonight.
Guest
7th November 2008, 14:40
Sorry, release got delayed by a crisis in transport parsing. Shooting for this evening.
Guest
8th November 2008, 01:09
1. Added support for double rate deinterlacing.
2. Released shared memory properly on termination.
3. Fix memory issue causing crash with latest Nvidia drivers.
4. Fix for streams with cropping on the right.
5. Server opens in the system tray.
6. Fix problem with transport streams that have a PES header split between transport packets.
http://neuron2.net/dgavcdecnv/dgavcdecnv.html
ultratoto14
9th November 2008, 20:55
Still have memory problem with the last version. I'm trying to encode Irobot Blu-ray EUROPE version to 8Gb 1080p. There's free memory on my computer even if windows complains there's not. It happens when i launch a compressibility check. @ 77% of compressibility check -> memory crash. I tried to launch directly the encode, it stops working on the first pass a few frame before the end. Just stop serving frames. The Server runs, if i cancel the first pass and tried another script just after, the script get frames. So i think there's something between the client and the server. If you need more infos...
Guest
9th November 2008, 21:23
What OS are you on?
Can you post a clip that will allow me to duplicate the server hang? For example, cut from the end of the stream.
ultratoto14
9th November 2008, 22:09
I'm on Windows Vista 32 ultimate. I will try to cut a part of the clip to see if it crashes again. 8998
Here is what i get sometimes on the server too.
Guest
10th November 2008, 00:52
I'll install StaxRip if I have to, but you have to give me a stream and a process that I can use to duplicate your issue.
Do these things happen outside of StaxRip too?
ultratoto14
10th November 2008, 18:14
I tried again and the first pass lock at 165020 frame of 165048. I tried to cut out and encode only the 10000 last frames and the encode was not locked. As it seems to lock only on full encode, do you have a debug version of the server to log on my machine(i cannot send you the complete blu-ray ...)
Guest
10th November 2008, 18:18
Please give me the blu-ray disk details so I can buy it to reproduce your issue.
As a workaround, you can try adding this to your script:
trim(0,165019)
Loss of a second at the end should not be a big deal.
ultratoto14
10th November 2008, 19:46
This is the last thing i will do, i want to help you finding a bug if there's one. Thanks.
Guest
10th November 2008, 21:19
You won't give me the blu-ray disk details so that I can get it to duplicate your issue?
If you don't give me a link to purchase the blu-ray, there's no way I can help you any further.
ultratoto14
10th November 2008, 21:42
Here is the blu-ray IRobot European version. http://www.amazon.fr/I-Robot-Blu-ray-Will-Smith/dp/B0011R8UMQ/ref=sr_1_1?ie=UTF8&s=dvd&qid=1226349676&sr=8-1
Guest
10th November 2008, 21:49
Just to confirm...
Is that the actual disk that you ripped?
How did you rip it?
Does this happen outside StaxRip?
ultratoto14
13th November 2008, 08:27
I finally demux the h264 stream from the main m2ts with tsMuxer. During the process, tsMuxer complains about unwanted h264 frames in the stream. I finally got it working by removing the 100 last frames as you suggested.
drelin
13th November 2008, 18:01
Hello, just a suggestion for a future version :
On the Cuvidserv module, can you integrate the creation of a "dummy" avi file (like as makeavis with ffdshow) for the frame serving ? For use with encoder not accpet avs script.
Thank you and sorry for the bad english.
ultratoto14
15th November 2008, 21:59
I rerip the I robot movie, it seems that the blu ray is deffective. This is not a problem of DGAVCIndexNV. Sorry of i wasted your time.
Clumpco
29th November 2008, 23:23
Just a post to thank Neuron2 and relate a painless installation of DGAVCDecNV.
The results are more than satisfactory...
Index Version 1.0.6
Dll Version 1.0.5.0
Server Version 1.0.1
Megui updated 28/11/08
Asus EN9600GT Matrix (the fan didn't even come on!)
Q6600 on Asus P5B at stock speed, 2GB Ram at 4-4-4-12 @ 824MHz
Using GPU basically halves encode time (when tested with the PD-PS3-Xbox360_Fast profile and a basic avscript).
Also the computer stayed far more reactive during encoding, despite MeGui task being set to "Higher than normal"
* First pass
using software frame server : 17.12 fps
using the Nvidia GPU : 39.81 fps
* Second pass
using software frame server : 16.92 fps
using the Nvidia GPU : 31.20 fps
Basic avs template script:
LoadPlugin("D:\HDTrials\Cuda\DGAVCDecodeNV.dll")
avcsource("__vid__")
LanczosResize(1280,720)
x264 command lines:
--pass 1 --bitrate 3112 --stats "****" --level 4.1 --bframes 3 --weightb --direct auto --subme 2 --partitions none --ipratio 1.1 --pbratio 1.1 --vbv-bufsize 9000 --vbv-maxrate 24000 --qcomp 0.5 --me dia --threads auto --thread-input --sar 1:1 --progress --no-psnr --no-ssim --output NUL "***"
--pass 2 --bitrate 3112 --stats "***" --level 4.1 --bframes 3 --weightb --direct auto --subme 5 --partitions p8x8,b8x8,i4x4,i8x8 --8x8dct --ipratio 1.1 --pbratio 1.1 --vbv-bufsize 9000 --vbv-maxrate 24000 --qcomp 0.5 --threads auto --thread-input --sar 1:1 --progress --no-psnr --no-ssim --output "***" "***"
I am currently encoding with a much more complex profile. Previously I got about 7 fps on pass 1, currently I am getting 12 fps.
Here us the first pass command line
--pass 1 --bitrate 3213 --stats "***.stats" --level 4.1 --bframes 5 --b-adapt 2 --b-pyramid --weightb --direct auto --deblock -3:-3 --subme 2 --partitions none --me dia --merange 32 --threads auto --thread-input --aq-strength 0.5 --sar 1:1 --progress --no-psnr --no-ssim --output NUL "***.avs"
So so far so good and I am a very happy camper.
Guest
30th November 2008, 02:25
Hello, just a suggestion for a future version :
On the Cuvidserv module, can you integrate the creation of a "dummy" avi file (like as makeavis with ffdshow) for the frame serving ? For use with encoder not accpet avs script.
Thank you and sorry for the bad english. Yes, I will do that. Thank you for the suggestion.
Guest
30th November 2008, 02:27
So far so good and I am a very happy camper. Good to know. Thank you for your test results.
leeperry
1st December 2008, 00:17
is there a way to use this thing in ffdshow somehow ?
so you get 100% GPU h264 decoding and can use LSF on top of it ? :D
Guest
1st December 2008, 00:22
What's stopping you from using LSF on it as is?
Sagekilla
1st December 2008, 00:30
I suppose he wants to get GPU decoding so he has more CPU to run LSF. That should be possible within ffdshow though.
leeperry
1st December 2008, 00:32
What's stopping you from using LSF on it as is?
nothing, but I mean can we replace CoreAVC by this thing in ffdshow, w/o changing filenames each time or sumthing
and do you know which cards are VP3 ? noone agrees on that :rolleyes:
some say even the 9600GT is VP2, and so would be the 9500GT.
how about the G92-150-A2 9600GSO ?
:thanks:
Guest
1st December 2008, 00:37
nothing, but I mean can we replace CoreAVC by this thing in ffdshow, w/o changing filenames each time or sumthing Gosh, you know "or sumthing" just leaves me wondering still what the heck you are after. CoreAVC is a DirectShow filter. Why can't you just use my source filter as is, why do you have to use it through DirectShow? I don't know what you are referring to when you talk about changing file names.
and do you know which cards are VP3 ? noone agrees on that I don't know but I will ask Nvidia for you.
leeperry
1st December 2008, 00:43
I don't know but I will ask Nvidia for you.
great news, thanks! better talk to God than to his saints..
apparently only G98 would be VP3..
well I wanna use it in DS with Reclock and Haali's Renderer + ffdshow A/V post-processing
but I guess it's not quite possible to make a call through the AVS filter of ffdshow...
Guest
1st December 2008, 01:10
You won't answer my questions, so hasta la vista.
leeperry
1st December 2008, 01:14
You won't answer my questions, so hasta la vista.
the part about DS ? well I wanna use it to GPU decode h264 and use it in KMPlayer/MPC.
pero no es un problema, hasta luego ;)
squid_80
1st December 2008, 03:23
VP3 has been out since last year with the introduction of new version of 8400gs (core G98). orginal 8400gs is G86 (VP2 only).
The current 8400GS models are the only cards that use VP3, nothing else. It is not faster for H264 since VP2 already had full bitstream acceleration, but is meant to be better for MPEG2/VC1.
ghostonline
1st December 2008, 03:47
The current 8400GS models are the only cards that use VP3, nothing else. It is not faster for H264 since VP2 already had full bitstream acceleration, but is meant to be better for MPEG2/VC1.
I have no idea why you are quoting my words. what you wrote has nothing to do with my original words confused:
did anyone here say anything about vp3 vs vp2 on h264???
I didn't, I am pretty sure about this part.
anyway, G98 8400gs may still be the only desktop model that has vp3, but it is not the only model that has vp3.
Guest
1st December 2008, 03:53
the part about DS ? well I wanna use it to GPU decode h264 and use it in KMPlayer/MPC.
pero no es un problema, hasta luego ;)
If you are looking for a player, try MPC Home Theater version, which supports DXVA.
squid_80
1st December 2008, 04:30
I have no idea why you are quoting my words. what you wrote has nothing to do with my original words confused:
Sorry for the confusion, I was quoting you to demonstrate to leeperry that the topic has already been covered in this thread and that the information available on wikipedia etc. is generally inaccurate.
leeperry
1st December 2008, 11:22
If you are looking for a player, try MPC Home Theater version, which supports DXVA.
well that's the thing.
I wanna use CUDA to decode H264 so I can use ffdshow A/V on top of it.
DXVA in MPC means no ffdshow.....
Sorry for the confusion, I was quoting you to demonstrate to leeperry that the topic has already been covered in this thread and that the information available on wikipedia etc. is generally inaccurate.
well the 9500GT is also G98.
and from what DXVAChecker tells me, it seems to support full bitstream H264 & VC1
Guest
1st December 2008, 14:13
I don't have any plans to write a DirectShow filter. But you could write one based on my open source code for the CUVID server and client.
kai0n7
1st December 2008, 17:45
Hi Donald,
I'm having an issue when using DGAVCDecNV which I hope you might be able to help me out with:
When I use the "trim" function in avisynth, the frame numbers don't seem to be matching up to what I see when I view the whole file. For example, I open my avs file in Virtualdub, and want to isolate a scene that plays between frames 1000-2000. When I add the trim command with that frame range specified to the script, it seems to be starting at frame 1002. In order to get all the frames I want, I need to change the start of the trim to 998. This happens with every bluray stream I've ripped thus far.
My apologies if this is a known issue that has already been covered.
Guest
1st December 2008, 18:35
This happens with every bluray stream I've ripped thus far. Then please provide a source stream fragment and script that will allow me to duplicate the issue.
EDIT: I've now duplicated it. Investigating...
kai0n7
2nd December 2008, 00:23
Then please provide a source stream fragment and script that will allow me to duplicate the issue.
EDIT: I've now duplicated it. Investigating...
Well, since I went through the trouble, here's a link to the sample clip you requested anyways:
http://www.megaupload.com/?d=RR7BDFGW
Here's the script:
LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\DGAVCDecodeNV.dll")
avcsource("D:\00002.dga")
Trim(133,351)
It's weird... the only time it hasn't occurred for me is if I play the file from beginning to end in virtualdub, then seek until I find the trimming points. If I seek right after opening the file, usually it pulls this weirdness.
Hope its something simple. ^_^
Clumpco
2nd December 2008, 00:24
Neuron2
One or two little bugs.
I used to use the Nvidia mpeg decoder for my Sat card viewer (DVBViewer) - now if the CUVID server is running the video pauses every second or so. Obviously fixed by choosing a different mpeg decoder but a bit of a niggle all the same.
I had a bluescreen a short time after I began the second pass on a Megui/x264 encode.
EventID 1003
Code erreur 1000008e, paramètre 1 c000001d, paramètre 2 d33c0005, \
paramètre 3 baa67a30, paramètre 4 00000000.
This is usually a driver/hardware problem if I remember correctly and may actually have nothing to do with DGAVCDecNV.
I have turned down Megui priority to "Normal" and done another encode since with no problems.
Cheers
Guest
2nd December 2008, 01:03
Hope its something simple. Not simple, but not too hard. libavcodec drops nondecodable orphaned frames while CUDA does not. I needed to allow for that difference. It will happen only with open GOPs, so you must have the Treat I as IDR option enabled. If you disable that it won't happen. Anyway, I have fixed it and will release it soon. Thank you for your trouble report.
Guest
2nd December 2008, 01:07
I used to use the Nvidia mpeg decoder for my Sat card viewer (DVBViewer) - now if the CUVID server is running the video pauses every second or so. Obviously fixed by choosing a different mpeg decoder but a bit of a niggle all the same. What do you mean by "CUVID server is running"? You mean sitting there idle in the taskbar, or actively decoding? If the former it's a bug, if the latter, what do you expect, given that the processes have to share the GPU? I'm surprised the latter case works at all and doesn't garble up the encode.
I had a bluescreen a short time after I began the second pass on a Megui/x264 encode. Maybe your machine is not fully stable. Is it overclocked?
Clumpco
2nd December 2008, 08:02
What do you mean by "CUVID server is running"? You mean sitting there idle in the taskbar, or actively decoding? If the former it's a bug, if the latter, what do you expect, given that the processes have to share the GPU? I'm surprised the latter case works at all and doesn't garble up the encode.
When it happened the server was idling. I turned if off and the problem stopped. However it does not seem to happen if I haven't been encoding, only after the server has been used. I will do some testing this evening and try to define the exact circumstances.
Maybe your machine is not fully stable. Is it overclocked?
The machine was rock solid before I swapped out my 7600 for the 9600. No CPU overclock, memory is 900MHz underclocked at 824 MHz and no graphics overclocking. I have two 120mm case fans and a 120mm fan in the psu. CPU cooler is an Asus Silent Square.
However, like you, I suspect a stability problem because fitting the 9600 (and the latest driver - 180.48) also broke Xvid (cured by a re-install) and h164ts_cutter refuses to show any video except immediately after a re-boot.
I know that this thread is probably not the correct place to discuss this if it is my machine that is at fault rather than your excellent software, but if anyone has any ideas?
Cheers
hklck516
2nd December 2008, 17:42
dgavcdecnv can support deinterlace - MBAFF or not ??
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.