Log in

View Full Version : DGVC1DecNV Version 1.0.6


Pages : 1 2 3 4 5 6 [7] 8

squid_80
14th March 2009, 04:17
gpD3D->GetAdapterCount() returns the number of video adapters in the machine.
gpD3D->GetAdapterIdentifier() fills out a D3DADAPTER_IDENTIFIER9 struct for a specific adapter.
cuD3D9GetDevice checks if a given device supports CUDA.
Basically the code iterates through each video adapter in the system until it finds one that supports CUDA. Then uses the given adapter number as the first parameter when calling gpD3D->CreateDevice instead of D3DADAPTER_DEFAULT.

tomos
14th March 2009, 04:51
I doubt it will work as a secondary. You'd have to ask Nvidia or try it for a definitive answer.

might end up trying it. could always make it pri if needs be i guess

Guest
14th March 2009, 15:52
Then uses the given adapter number as the first parameter when calling gpD3D->CreateDevice instead of D3DADAPTER_DEFAULT.
Are you saying you KNOW that this will allow using an Nvidia card as a secondary adapter with my NV tools? Or are you suggesting it as something to try?

Guest
14th March 2009, 15:56
might end up trying it. could always make it pri if needs be i guess If you like, I'll work with you to try to get it working, assuming squid_80's idea works.

squid_80
14th March 2009, 22:39
Are you saying you KNOW that this will allow using an Nvidia card as a secondary adapter with my NV tools? Or are you suggesting it as something to try?
I can't confirm that exact code will work as designed, since I can't test the "find first CUDA capable card" loop properly - my last ATI card fried 18 months ago and all my Nvidia cards are CUDA capable, so it always exits with adapter=0. But I have tested passing the adapter no. of a secondary Nvidia card to CreateDevice and it works.

Guest
15th March 2009, 00:26
OK, thank you. It seems at least worth trying. I need someone with dual adapters to step up for testing.

tomos
15th March 2009, 07:29
If you like, I'll work with you to try to get it working, assuming squid_80's idea works.

thanks :)

will be a few weeks till i get an nvidia card though. sorry. only one i have at the mo is an old 6800gt and i doubt it will work with CUDA

Guest
15th March 2009, 16:57
OK, ping me when you are ready to go. This could pull ATI users into the fold.

tomos
15th March 2009, 22:13
screw it, i just ordered a gts250. think it's like a 9800 or thereabouts. will hopefully get it tues/wed time. it's going to be on vista x64. will update once it's installed

Guest
16th March 2009, 02:33
Send me a PM when you are ready, as I will need to send you a special build. Thank you for your willingness to help.

~bT~
20th March 2009, 02:51
i have two cards in sli. i can try maybe?

Guest
20th March 2009, 03:06
OK, I'll add the code from squid_80 and make a binary available.

How does that SLI stuff work? Is there still a primary adapter?

~bT~
20th March 2009, 03:13
^ errrmm...no idea.. sorry.

Leak
20th March 2009, 10:37
How does that SLI stuff work? Is there still a primary adapter?
If it's anything like ATI's Crossfire you'll have two separate adapters and an option somewhere in the driver to link them, at which point the second adapter disappears from a program's point of view.

squid_80
20th March 2009, 10:51
It won't be a very good test for the code I posted anyway since even if they exist as 2 separate devices they will both be CUDA capable.

Guest
20th March 2009, 13:07
It won't be a very good test for the code I posted anyway since even if they exist as 2 separate devices they will both be CUDA capable. But I can make the code ignore the first one just for testing.

crasus
31st March 2009, 08:00
neuron2, just a small question. I have the nvcuvid.dll that came with the latest nVidia drivers & CoreAVC Pro in system32 and your version in the program directory.

Considering that MPC-HC is set up to use the CoreAVC Pro CUDA function, can I run a x264 encode with DGVC1DecNV's avs function while watching a movie in MPC-HC?

Guest
31st March 2009, 14:07
I don't recommend it. If you do it, I take no responsibility for what happens.

crasus
31st March 2009, 15:59
Thanks for the reply, neuron2! As I'm curious, do you have any ideea to what might happen?

laserfan
31st March 2009, 16:09
Lessee, your movie playback fails 90% in, and you have a crowd of people in your HT. At the same time the encoding that's been cranking-away for 16 hours and counting craps-out and you have to start over. Why risk it?

Guest
31st March 2009, 19:32
All I can say is that some people do it and get away with it and some get corrupted encodes. I don't know why and don't have time to investigate. Theoretically, I believe it should work as the Nvidia driver is supposed to manage the contexts for the two different processes, but as I said, some people have had problems.

Audionut
23rd April 2009, 14:32
Hi Don,

I'm getting this error on Windows 7 with all versions of your app.

cuvidMapVideoFrame: 208.


I realize win 7 is still in beta, but i'm willing to help trouble shoot if you want. It's only a matter of time now before Windows 7 is released.

Guest
23rd April 2009, 14:35
I've already reported it to Nvidia some time ago. The problem is not in my code and we just have to hope that they fix it in time.

I will rattle their cages a little.

EDIT: Just sent this:

"I have a user doing VC1 decoding on Windows 7 beta.

He gets cuvidMapVideoFrame: 208. I believe we briefly discussed
issues with Windows 7 a while back.

Is this issue known and can we hope for a fix before Windows 7
goes final? The user is willing to assist in debugging."

Audionut
23rd April 2009, 14:41
Cheers.

squid_80
23rd April 2009, 15:13
Is that with win7 build 7077 or later?

Guest
23rd April 2009, 23:40
If you have a recent Windows 7 build you will need the latest Nvidia drivers for it. The problem is fixed if you ensure that.

Audionut
24th April 2009, 09:54
I'm using build 7068 of windows 7. However the release candidate has just been leaked.

I'm using 181.71 which shows as the latest build for windows 7 on nvidia's site.

I don't want to use the latest build for vista 185.68 as afaik this is WDDM 1.0.
I'd prefer to stick to win 7 drivers which are WDDM 1.1.

I'll install windows 7 RC tonight or tomorrow and try again. If that doesn't work, I'll try the latest drivers for Vista and report back.


edit: WDDM http://en.wikipedia.org/wiki/Windows_Display_Driver_Model

Audionut
25th April 2009, 02:55
Using release candidate build 7100 of windows 7 and the drivers from automatic update 181.72 I still get the same error.

sangwich
6th May 2009, 03:02
what is this error?

http://hdimage.org/images/sbpyy2rg2fzpqxvp1y72_05022009230302.jpg

for encoding to continue, i must click ok.

I'm getting same error when screen saver engages (switching users will likely to cause this too but I'm not sure, need to test it again) and when two or more DGVC1Decode processes trying to run, so in my case it is not related to any particular position in the fille. I'm using WinXP SP3 + 8600GTS + 178.24 driver. So, is limitation of CUVID server or a bug (or a feature :)) ?

Guest
6th May 2009, 04:31
Do not use a screen saver when encoding. Do not try to use the CUVID server with multiple clients at the same time.

sangwich
6th May 2009, 14:31
Do not use a screen saver when encoding. Do not try to use the CUVID server with multiple clients at the same time.

It also happens when switching users and when connecting to the machine remotely. I can cope with your "don't" in the first and 2nd case, but 3rd and 4th cases are really crippling. Imagine if you are waited for 6 hours to encode a movie and you are 99% done when you wife (insert GF/roommate/child/etc. here) decides to check her email "for a quick sec" and everything goes to trash :(

So, can I nicely ask for a fix?

laserfan
6th May 2009, 14:42
...can I nicely ask for a fix?But, do we know of *any* programs that can survive a log-off/log-on-as-another-user?

Guest
6th May 2009, 14:45
There's no fix possible unless Nvidia changes the architecture. You have to play by the rules if you want to use CUVID.

Leak
6th May 2009, 15:02
But, do we know of *any* programs that can survive a log-off/log-on-as-another-user?
"Fast user switching" isn't logging off, it's logging on more than one session and switching between them. It's just that only the current session can effectively use the GPU...

Anyway, shouldn't there be a way for DGVC1Decode to simply stall (maybe with a dialog popping up for the user to terminate it) until it can reacquire the hardware, assuming that it's actually possible to do that (most games do it when you tab out of them and back)?

I'd say that would be way better than simply erroring out - if it's doable, of course...

sangwich
6th May 2009, 15:05
But, do we know of *any* programs that can survive a log-off/log-on-as-another-user?

In WinXP switching users is not the same as log-off. When I re-encode h264 content, I use non NV version of dgavcdecode and have a queue of work for several days, however I can do all those thing without any impact on the processing.

squid_80
6th May 2009, 15:18
Anyway, shouldn't there be a way for DGVC1Decode to simply stall (maybe with a dialog popping up for the user to terminate it) until it can reacquire the hardware, assuming that it's actually possible to do that (most games do it when you tab out of them and back)?
Unfortunately it's more complicated than that, not only would it have to re-acquire a handle to a direct3d device but also reinitialize the CUDA decoder and feed in all the previous reference frames again so the DPB was valid.

Leak
6th May 2009, 22:08
Unfortunately it's more complicated than that, not only would it have to re-acquire a handle to a direct3d device but also reinitialize the CUDA decoder and feed in all the previous reference frames again so the DPB was valid.
Hmmm... I don't think that's actually infinite reference frames, so shouldn't it be possible to keep as much of the stream as needed to do that in memory?

np: Lackluster - Whinnye (Proof Of Concept)

squid_80
6th May 2009, 22:52
Sure it's possible, just not particularly easy.

Guest
6th May 2009, 23:05
Also, there's no API to preload the DPB like that, and to reattach to D3D without resetting stuff.

Leak
6th May 2009, 23:59
Also, there's no API to preload the DPB like that
So how do you seek around in the stream then?

Guest
7th May 2009, 14:38
If the error code returned is sufficient to distinguish the error from a simple stream error, then theoretically something could be done. But I'd have to keep polling to see when decoding can start succeeding again. It sounds like a nightmare to me.

xandercage
9th May 2009, 15:43
i m using nvidia 8800GTX 768 MB GPU.
I instaled this driver 185.85_desktop_winxp_32bit_english_whql and this cudadriver_2.2_winxp_32_185.85_general.
My OS Win XP PRO SP3
But i can t load VC-1 stream. I always get this error
http://megaupload.cz/images/snap33.jpg

What kind of license file is missing?
Any ideas how can i load VC-1 stream or m2ts file?

Guest
9th May 2009, 16:05
To get a license, you need to push the yellow button on this page:

http://neuron2.net/dgvc1decnv/dgvc1decnv.html

xandercage
9th May 2009, 16:09
I must donate? Or what do u mean?
Thx for the answer

Guest
9th May 2009, 16:10
Just read what is written on the page I linked. It's all spelled out for you.

xandercage
9th May 2009, 16:55
OK i m waitting for the activation...
Sorry for my dump qustions.
Thanks for your great work

squid_80
9th May 2009, 20:40
You might want to save your money, the 8800GTX can't use CUDA for decoding.

Guest
9th May 2009, 23:43
He didn't read the page like I asked him to. :(

Leak
10th May 2009, 11:38
He didn't read the page like I asked him to. :(
How about making your program error out with an "Unsupported hardware"-type error message before even checking for a license file?

np: Casiotone For The Painfully Alone - Northfield, MN (vs. Children)

Audionut
17th May 2009, 14:53
Hi Don,

Just to report your tools work fine in Windows 7 x64 with the latest drivers from nvidia. 185.85

Regards,