Log in

View Full Version : DGAVCDecNV 1.0.13: GPU decoding on Nvidia


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

Ranguvar
14th September 2008, 00:37
Did you see my long post right before you announced a2? Just making sure, since you posted right after me and may not have seen it :)

And what do you mean? :p Just demux with MP4Box/mkvextract, which is what I did :)

Guest
14th September 2008, 00:38
I used the demuxed .h264 stream. I tried your MP4 after demuxing with Yamb. I don't see any artifacts.

I'm not interested in installing any MKV demuxers.

Ranguvar
14th September 2008, 00:43
Must be my system then? I am definitely getting artifacts. Unfortunately, I can't show you a screenshot, as DGAVCIndexNV doesn't feel like detecting my card right now. Maybe later :)

Try the lossless one, though - the video is basically unwatchable for me at least.


EDIT: What?? Why? So you want me to demux the stream and then give it to you? :confused:

Guest
14th September 2008, 00:51
Must be my system then? I am definitely getting artifacts. Unfortunately, I can't show you a screenshot, as DGAVCIndexNV doesn't feel like detecting my card right now. Maybe later :) Did you try demuxing with Yamb? I've heard of issues with MP4Box.

Try the lossless one, though - the video is basically unwatchable for me at least. As I said, I'm not interested in installing any MKV tools.

If you have RAW or TS streams that play fine with CoreAVC and don't with DGAVCIndexNV, then I am interested, else not.

Guest
14th September 2008, 00:53
I have Windows XP Pro SP2 x64 You need to check whether CUDA video decoding is supported on 64-bit windows.

Ranguvar
14th September 2008, 00:54
Did you try demuxing with Yamb? I've heard of issues with MP4Box.

As I said, I'm not interested in installing any MKV tools.

If you have RAW or TS streams that play fine with CoreAVC and don't with DGAVCIndexNV, then I am interested, else not.

YAMB is MP4Box. It's just a GUI for it. And actually, I did use YAMB.

You said you didn't want MKV tools after I suggested it (you edited).

And it should be, considering NVIDIA offers a CUDA driver specially for x64, which I am using.

Ranguvar
14th September 2008, 00:56
Your attitude is in danger of turning me off.

I'm just confused as to why you have such an aversion to MKV. I'll upload the raw stream, if that's what it takes.

Guest
14th September 2008, 00:56
Did I understand you correctly and you have 64-bit Windows?

Ranguvar
14th September 2008, 00:57
Yes :)

Guest
14th September 2008, 00:58
I'm just confused as to why you have such an aversion to MKV. I don't want to clutter my system with things I don't need or want.

I'll upload the raw stream, if that's what it takes. I already demuxed it and played it with no problems, but if you'd like me to try your raw, we can rule out demuxing as the problem for you.

Guest
14th September 2008, 01:01
Did you install the 64-bit CUDA driver and toolkit from the Nvidia CUDA download site? Did you say yes to overwrite your current driver?

Ranguvar
14th September 2008, 01:02
We can get the most out of CUDA if the rest of our machine does not slow down the ability to feed the insatiable power of NVIDIA stream processors. For maximum speed we should use 64-bit Windows on at least a quad core machine with lots of RAM and large, fast disk drives. Before configuring a new 64-bit system, check the NVIDIA web site to make sure that 64-bit drivers are available for the Windows operating system you plan to install. At the present writing, Windows XP x64 has been used for development of x64 support by manifold.net.

blahblahforfivecharacterlimit

EDIT: Yes, I did :)

Sagekilla
14th September 2008, 01:07
neuron2, I'll post the raw H.264 file demuxed from the mkv if you'd like. I believe I have a copy of it on my system somewhere.

Guest
14th September 2008, 01:08
Sure, go ahead. Thank you.

Guest
14th September 2008, 01:08
@Ranguvar

Are you able to run the samples in the CUDA SDK?

Ranguvar
14th September 2008, 01:17
Uninstalled driver, rebooted, installed driver (CUDA WinXP x64), rebooted - exact same problems.

I will try, one second please.

Sagekilla
14th September 2008, 01:18
Here's the Lossless Touhou sample, I wasn't able to get the other (mp4) one because I don't have a mp4 demuxer on my system at the moment. Still, this should be very helpful.

It'll be here: http://www.mediafire.com/?sharekey=52d10c65d4ff45aad2db6fb9a8902bda, upload finishes in ~3 mins. They're 7zipped, if you're unable to extract 7z I'll see if I can cut a sample in half for you in a second.


Edit: What's the ETA on the decoder for Avisynth? I'd love to get a jump on it and try it on a blu-ray.

Ranguvar
14th September 2008, 01:25
Yes (http://i33.tinypic.com/29w1e0l.png), I can run the sample CUDA apps from the SDK :) (x64 SDK). (yes, it's XP, just skinned)

(I am using CUDA 2.0, for sure, don't know why it says 1.1)

kemuri-_9
14th September 2008, 01:35
Reboot.
yeah yeah, finally did the M$ Winblows fixall
working again on my XP x64.

also installed the cuda toolkit and sdk

Guest
14th September 2008, 01:37
I am using CUDA 2.0, for sure, don't know why it says 1.1) "It" means what? Sounds like you have a munged up install.

Ranguvar
14th September 2008, 01:39
Look at the command windows in the pic I linked.

Guest
14th September 2008, 01:43
What is the exact error that you get?

SquallATF
14th September 2008, 01:45
I have used driver version 177.92 on windows 2003 x64, the DGAVCIndexNV runs very well.
ps run on this version drivers don't need nvapi.dll and nvcuda.dll, all of the dll have include in driver.

Audionut
14th September 2008, 01:50
Sweet. Thanks neuron.

Works perfect with 177.98. About 44fps with display disabled on 1920x1088 content from a blu-ray. 8800gt 512 G92.

This will make shrinking blu-rays a whole lot quicker.


I didn't have to move any dll's.

kemuri-_9
14th September 2008, 01:52
I have used driver version 177.92 on windows 2003 x64, the DGAVCIndexNV runs very well.
ps run on this version drivers don't need nvapi.dll and nvcuda.dll, all of the dll have include in driver.

on my xp x64, nvcuvid.dll is necessary, but it came with the CUDA SDK, so I personally don't need it....
*glares at x64 version of dll's*

Zwitterion
14th September 2008, 02:00
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.

Hardware acceleration for lossless AVC streams is not supported, or is it?

SquallATF
14th September 2008, 02:01
on my xp x64, nvcuvid.dll is necessary, but it came with the CUDA SDK, so I personally don't need it....
*glares at x64 version of dll's*
32bit dlls are in %SYSTEMROOT%\SysWOW64

kemuri-_9
14th September 2008, 02:10
32bit dlls are in %SYSTEMROOT%\SysWOW64
no duh
i was referring to how it would be nice to see an x64 bit version eventually (though it will probably long into the future for when avisynth's x64 support comes along.... after i die of old age probably)

kemuri-_9
14th September 2008, 02:17
Hardware acceleration for lossless AVC streams is not supported, or is it?

http://kemuri9.net/forumpics/losslessTouhou.png
that looks like a no

squid_80
14th September 2008, 03:59
(though it will probably long into the future for when avisynth's x64 support comes along.... after i die of old age probably)
You do know there are x64 builds of avisynth available, right? You could always offer to help instead of making derogatory comments.

neuron2: Good luck getting DGAVCDecodeNV working... watch out for CUDA_ERROR_INVALID_CONTEXT errors, they can happen when GetFrame is called by a different thread than the one which created the filter (if you create the context in the constructor).

kemuri-_9
14th September 2008, 04:11
You do know there are x64 builds of avisynth available, right? You could always offer to help instead of making derogatory comments.

and you do know that it's only x64 support in 3.0 which is pretty pre-alpha right now too!
and i don't know much about elementary aspects of video to help with the development,
sure i can read code, but making it for something you know hardly about is WAY different.

I wasn't purposely being derogatory, but it seemed to come across that way,
just saying that avisynth has always been slow to develop from it's sheer complexity...

Guest
14th September 2008, 04:49
neuron2: Good luck getting DGAVCDecodeNV working... I'm already decoding frames with it. I'm now working on the copying of the picture to GetFrame()'s output frame, pulldown, and sundry things. It's looking good.

watch out for CUDA_ERROR_INVALID_CONTEXT errors, they can happen when GetFrame is called by a different thread than the one which created the filter (if you create the context in the constructor). My filter constructor creates a server thread that stays alive until filter destruction. The server thread owns the CUDA context and does the decoding. The GetFrame() function signals the server thread with an event and then waits to be signalled back with a frame.

I'm not sure I will be able to support mutiple AVCSource() calls in a script. I think it's unusual anyway.

squid_80
14th September 2008, 04:50
and you do know that it's only x64 support in 3.0 which is pretty pre-alpha right now too!No, it's a mixture of 2.5.5 and 2.5.6. It lives in avisynth's CVS tree with the tag avisynth64. Core builds and plugins are available from my homepage (http://members.optusnet.com.au/squid_80).

squid_80
14th September 2008, 04:58
My filter constructor creates a server thread that stays alive until filter destruction. The server thread owns the CUDA context and does the decoding. The GetFrame() function signals the server thread with an event and then waits to be signalled back with a frame.That's good news; using cuCtxPushCurrent/cuCtxPopCurrent to float the context seems to be horribly slow.

Sagekilla
14th September 2008, 05:03
I'm a bit scared about who could possibly be using multiple AVCsources for a single file. I'd think that by the point you're using multiple H.264 inputs, it'd be a good idea to convert to an intermediate format if you're doing that heavy editing.

AtomX
14th September 2008, 05:52
All worked well in terms of loading the footage and making the .dga. I can already tell that this is a vastly significant improvement over the non-NV-enabled DGAVCIndex (at least with the footage that I've been working with). For one, I can actually scrub through the footage and play it perfectly fine within the program without it crashing, which is something I can't do with the normal DGAVCIndex.

I've been working on trying to establish a cohesive workflow when working with Blu-Ray footage. Right now, my current workflow is as follows:

1) Rip blu-ray disc with AnyDVD HD
2) Demux the .m2ts file with Elecard XMuxer (demux's to a .h264 file)
3) Process the .h264 file with DGAVCIndex
4) Run the .dga through AVS
5) Bring the AVS into VDubMod
6) Encode the entire stream using Lagarith
7) End up with a lossless version of the blu-ray stream that is roughly 10x the original file size.

I've been working with DVD files for many years now and I've never really had to convert the entire film to lossless in order to work with it (run the VOB through DGIndex, process via, AVIsynth, works fine). Unfortunately through, with the 1080p blu-ray files, the resulting AVS file is extremely unstable. I can't seek through it in VDub whatsoever without it crashing immediately, and I certainly can't import it into any kind of editing program without it crashing. So if DGAVCIndexNV fixes that, you will be my hero :)

I will be looking very much forward to the decoder DLL!

EDIT: Also, forgot to mention, I did indeed have to install the CUDA drivers/toolkit from the nvidia site. I'm running an 8600 GT.

EDIT 2: I just realized that I actually can now import the m2ts file directly without having to demux it! Hallelujah!! :D

Ranguvar
14th September 2008, 07:52
kemuri, would you mind detailing how you got it to work exactly, since you're have XP x64 like me? :)

Thanks!

Daodan
14th September 2008, 07:58
Hm, with version a2 i can't use the preview anymore (with dispay on). I press f5, it just freezes, no deinterlacer enabled. If I switch back to old one, it works.

Comatose
14th September 2008, 08:00
that looks like a no
Probably because it's lossless. Can't be bothered to check if it SHOULD support it, but I don't see why it should D: (as it was aimed to decode Blu-ray and HD DVD)

lucassp
14th September 2008, 09:20
http://www.mediafire.com/?j2xpbxgmt0c

MBAFF Stream that doesn't work. Please check it neuron2!

Daodan
14th September 2008, 09:44
Plays fine here. There's a glitch when protv logo starts to appear but it's there with software decoders too.
Can't wait for the dll to be available and see how big are the benefits, there is clearly nice potential here for boosting encoding speed.

bob0r
14th September 2008, 10:20
@Neuron2
(When the CoreAVC blocking bug is fixed) ... and you possibly ever get an SDK will it be possible to use both CPU and GPU for decoding?

Guest
14th September 2008, 13:52
Hm, with version a2 i can't use the preview anymore (with dispay on). I press f5, it just freezes, no deinterlacer enabled. If I switch back to old one, it works. No change other than the deinterlacer option. Maybe you have single step set for playback.

Guest
14th September 2008, 13:55
@Neuron2
(When the CoreAVC blocking bug is fixed) ... and you possibly ever get an SDK will it be possible to use both CPU and GPU for decoding? I don't know what you mean by "use both". Do you mean will I support CoreAVC for decoding? I can't answer that until I see an API/SDK for it. I would want to, but don't know yet how feasible it is.

CoreAVC is apparently not very interested in the idea as they continue to tease me but they haven't really decided yet, I think.

bob0r
14th September 2008, 14:40
Thats the way they do business, ill slap BetaBoy when he is online again :)

What i meant was, will dgavcdec use cpu and gpu at the same time when further developed?

kemuri-_9
14th September 2008, 14:54
kemuri, would you mind detailing how you got it to work exactly, since you're have XP x64 like me? :)

Thanks!

Hmm... it worked pretty well without any direct interference.
But try downloading it, deleting all the .dlls that come with it and copying over
C:\Program Files (x86)\NVIDIA Corporation\NVIDIA CUDA SDK\bin\Win32\Release\nvcuvid.dll to somewhere that's in the PATH environment (sysWOW64 would be good)
or just adding that directory to the path.
the other 2 .dlls are already in PATH dirs, so you won't need them


C:\Program Files (x86)\NVIDIA Corporation\NVIDIA CUDA SDK\bin\Win32>which nvcuda.dll
C:\WINDOWS\system32\nvcuda.dll

C:\Program Files (x86)\NVIDIA Corporation\NVIDIA CUDA SDK\bin\Win32\Release>which nvapi.dll
C:\WINDOWS\system32\nvapi.dll

C:\Program Files (x86)\NVIDIA Corporation\NVIDIA CUDA SDK\bin\Win32>dir /w C:\Windows\SysWOW64 | grep nv
nvapi.dll
nvcuda.dll

C:\Program Files (x86)\NVIDIA Corporation\NVIDIA CUDA SDK\bin\Win32>which nvcuvid.dll
C:\myStuff\DLLs\nvcuvid.dll < PATHed dir


but it's also been very finicky for me. if it stops working saying it can't find a GPU decoder, it'll need to restart to work again.

If we had the source code for DGAVCIndexNV, i could try compiling a x64 binary and see if that works without hitches.

No, it's a mixture of 2.5.5 and 2.5.6. It lives in avisynth's CVS tree with the tag avisynth64. Core builds and plugins are available from my homepage (http://members.optusnet.com.au/squid_80).

too bad i'm used to 2.5.8 now :< but i'll check it out from the cvs

Guest
14th September 2008, 14:55
What i meant was, will dgavcdec use cpu and gpu at the same time when further developed? No, it won't. It's interesting, but complex, and for transcoding, it's likely better to give all the CPU to the encoder. The encoding is the bottleneck.

Esurnir
14th September 2008, 15:09
Error : Failed to Find a CUDA-Compatible D3D Device (2)

Running folding@home GPU on my pc (and doing 2500 iteration per second as I speak) I find it hard to believe. (and no I don't run folding@home while running dgAVCdec)

Actual configuration : 177.92 Forceware Physx cuda enabled drivers
2* 8800GT in SLI

lucassp
14th September 2008, 15:36
Plays fine here. There's a glitch when protv logo starts to appear but it's there with software decoders too.

I didn't mention that it plays fine using alpha 1 and it doesn't play at all using alpha 2 (tested with deinterlacing enabled and disabled).

kemuri-_9
14th September 2008, 15:38
Error : Failed to Find a CUDA-Compatible D3D Device (2)

Running folding@home GPU on my pc (and doing 2500 iteration per second as I speak) I find it hard to believe. (and no I don't run folding@home while running dgAVCdec)

Actual configuration : 177.92 Forceware Physx cuda enabled drivers
2* 8800GT in SLI
That's the error i've come across and needs to be restarted in order to fix it (as i haven't found/seen another way to fix yet).
-Edit-
this is also affecting the CUDA SDK software too, so it's not specific to DGAVCIndexNV