DGDenoise

These CUDA filters are packaged into DGDecodeNV, which is part of DGDecNV.
User avatar
admin
Posts: 4551
Joined: Thu Sep 09, 2010 3:08 pm

Re: About DGDenoise

Post by admin »

gonca wrote: AND THE NEW HEAVYWEIGHT CHAMP IS DGDenoise!
I still have some more tricks up my sleeve. Stay tuned.

License will be standard DG tools, for loyal DG users.
DAE avatar
Sharc
Posts: 233
Joined: Thu Sep 23, 2010 1:53 pm

Re: About DGDenoise

Post by Sharc »

I did some more tests with a noisy interlaced 720x576i videofile source, encoded with x264 CRF=17. The results may be specific for this type of source and my system, but here my findings:

Case / filter / speed (fps) / file size (MB)
1 / none / 16.40 / 36.7
2 / --nr 1000 / 16.74 / 25.0
3 / KNLMeansCL(0,2,3,3.0) / 14.94 / 30.9
4 / KNLMeansCL(0,2,3,3.0) plus --nr 1000 / 15.07 / 21.4
5 / DGDenoise(strength=0.06) / 14.80 / 30.9
6 / DGDenoise(strength=0.06) plus --nr 1000 / 15.19 / 21.3

Bottom line:

- KNLMeansCL(0,2,3,3.0) is much the same as DGDenoise(strength=0.06) w.r.t. filesize, speed and visual quality
- adding --nr increases(!) the encoding speed slightly (1% …3%)
- adding --nr reduces the filesize significantly (by 30%) and improves visual quality without noticeable loss of details or sharpness (the same file size with the external filter alone would blur the picture / loose details more)
- --nr xxx seems to complement the external filters (KNLMeansCL or DGDenoise) nicely.
- Overall the combination of the external with the internal noise filter wins in every aspect.

These conclusion may be specific for this kind of (low quality) source though.
User avatar
admin
Posts: 4551
Joined: Thu Sep 09, 2010 3:08 pm

Re: About DGDenoise

Post by admin »

Thanks, Sharc. I suspect that the encoding is swamping the denoising here with respect to performance timing. I think it's better to test without encoding, in order to compare the denoising performance. Nevertheless, your report on the results of --nr is interesting and valuable.

Anyway, I just unrolled the loops in my kernel, increased the number of registers some more, and told ptxas to use fast math. This increased the frame rate for rat.avs from 110 fps to 184 fps (>60% improvement)! I'll test it a bit and then slipstream it.
So, the current scorecard for me is:

DGDenoise(): 184 fps
KNLMeansCL(d=0): 59 fps

DGDenoise is now 3 times faster than KNLMeansCL on my lowly 1050Ti. It will be fun to see gonca's results.
DAE avatar
Guest

Re: About DGDenoise

Post by Guest »

x_32 288.0 fps

Code: Select all

Graphics driver version:    21.21.13.7633 (ForceWare 376.33) WHQL / Win10 64


[Avisynth core info]
VersionString:              AviSynth 2.60, build:Mar 31 2015 [16:38:54]
VersionNumber:              2.60
File version:               2.6.0.6
Interface Version:          6
Multi-threading support:    No
Linker/compiler version:    6.0
Avisynth.dll location:      C:\Windows\SysWOW64\avisynth.dll
Avisynth.dll time stamp:    2015-03-31, 06:40:58 (UTC)
PluginDir2_5 (HKLM, x86):   C:\Program Files (x86)\AviSynth\plugins


[Clip info]
Number of frames:               105884
Length (hh:mm:ss.ms):     01:13:36.245
Frame width:                      1920
Frame height:                     1080
Framerate:                      23.976 (24000/1001)
Colorspace:                       YV12
Audio channels:                    n/a
Audio bits/sample:                 n/a
Audio sample rate:                 n/a
Audio samples:                     n/a


[Runtime info]
Frames processed:               105884 (0 - 105883)
FPS (min | max | average):      93.58 | 299.7 | 288.0
Memory usage (phys | virt):     220 | 289 MiB
Thread count:                   9
CPU usage (average):            7%

GPU core clock | memory clock:  1886 | 1901
GPU usage (average):            54%
VPU usage (average):            48%
GPU memory usage:               529 MiB

Time (elapsed):                 00:06:07.630


[Script]
LoadPlugin("C:\Program Files (Portable)\dgdecnv\DGDecodeNV.dll")
DGSource("T:\IMPORTS\test.DGI", fieldop=0)
DGDenoise(strength=0.1)
x_64 283.0 fps

Code: Select all

Graphics driver version:    21.21.13.7633 (ForceWare 376.33) WHQL / Win10 64


[Avisynth core info]
VersionString:              AviSynth+ 0.1 (r1576, x64)
VersionNumber:              2.60
File version:               2.6.0.5
Interface Version:          5
Multi-threading support:    No
Linker/compiler version:    11.0
Avisynth.dll location:      C:\Windows\System32\AviSynth.dll
Avisynth.dll time stamp:    2014-01-03, 23:11:18 (UTC)
PluginDir+   (HKLM, x64):   C:\Program Files (x86)\AviSynth+\plugins64+
PluginDir2_5 (HKLM, x64):   C:\Program Files (x86)\AviSynth+\plugins64


[Clip info]
Number of frames:               105884
Length (hh:mm:ss.ms):     01:13:36.245
Frame width:                      1920
Frame height:                     1080
Framerate:                      23.976 (24000/1001)
Colorspace:                       YV12
Audio channels:                    n/a
Audio bits/sample:                 n/a
Audio sample rate:                 n/a
Audio samples:                     n/a


[Runtime info]
Frames processed:               105884 (0 - 105883)
FPS (min | max | average):      82.64 | 295.5 | 283.0
Memory usage (phys | virt):     249 | 684 MiB
Thread count:                   9
CPU usage (average):            7%

GPU core clock | memory clock:  1886 | 1901
GPU usage (average):            53%
VPU usage (average):            47%
GPU memory usage:               565 MiB

Time (elapsed):                 00:06:14.156


[Script]
LoadPlugin("C:\Program Files (Portable)\dgdecnv\x64 Binaries\DGDecodeNV.dll")
DGSource("T:\IMPORTS\test.DGI", fieldop=0)
DGDenoise(strength=0.1)
User avatar
admin
Posts: 4551
Joined: Thu Sep 09, 2010 3:08 pm

Re: About DGDenoise

Post by admin »

Looks good, gonca.

When are you buying that 1080?
DAE avatar
Sharc
Posts: 233
Joined: Thu Sep 23, 2010 1:53 pm

Re: About DGDenoise

Post by Sharc »

Nice speed improvement also for Kepler with latest slipstream: from 26.91 fps to 44.43 fps :D
Edit: or 72fps on bobbed source.
User avatar
admin
Posts: 4551
Joined: Thu Sep 09, 2010 3:08 pm

Re: About DGDenoise

Post by admin »

Good to hear, Sharc, thank you.
DAE avatar
Guest

Re: About DGDenoise

Post by Guest »

admin wrote:Looks good, gonca.

When are you buying that 1080?
Might have to wait a while.
I just built this system a month ago
Side note
DGDenoise saturates my cpu during encodes, (it runs at 100%) so no bottleneck
User avatar
admin
Posts: 4551
Joined: Thu Sep 09, 2010 3:08 pm

Re: About DGDenoise

Post by admin »

I'll save my pennies. I think there are some really kick-ass cards for $2000+.

The unexpected speed is making me think about porting other filters to CUDA. MV tools?

I'm just off to replace my CPU cooler on my backup machine. Wish me luck. :?
DAE avatar
Sharc
Posts: 233
Joined: Thu Sep 23, 2010 1:53 pm

Re: About DGDenoise

Post by Sharc »

admin wrote:The unexpected speed is making me think about porting other filters to CUDA. MV tools?
QTGMC on CUDA would be phantastic 8-)
DAE avatar
Guest

Re: About DGDenoise

Post by Guest »

admin wrote:I'll save my pennies. I think there are some really kick-ass cards for $2000+.
https://www.newegg.ca/Product/Product.a ... 5TY22N0704
User avatar
admin
Posts: 4551
Joined: Thu Sep 09, 2010 3:08 pm

Re: About DGDenoise

Post by admin »

Darn, it's out of stock.

My i7-980X machine lived through the cooler swap and 1050Ti upgrade. Into the case tomorrow.

Do you folks worry about hot NBs?
DAE avatar
Guest

Re: About DGDenoise

Post by Guest »

When I OC I check CPU and general MotherBoards temps. I don't recall at actually ever looking at specific temps like NB.
You're running a 980 so your motherboard isn't that old. If it gets too hot it should throttle or reboot automatically, unless you disable that in BIOS.
What kind of temps are you referring too
User avatar
admin
Posts: 4551
Joined: Thu Sep 09, 2010 3:08 pm

Re: About DGDenoise

Post by admin »

I can touch the heat sink for 10 seconds, so I'm guessing 65-70 degC. I googled for "X58 northbridge hot" and it's not unusual. Spec allows up to 100 degC but that seems extreme. I may add a spot cooler, or maybe the case fan will be enough. This is a no-name Chinese LGA1366 X58 mobo. Works great though.

I still have a perfectly good Core2 Duo Win10 machine in the closet. I think there's a GTX 720 in there. Can't bring myself to decommission it. One day...off to CPU heaven.

What do you do with all your older systems, gonca? Salvation Army? :lol:
User avatar
admin
Posts: 4551
Joined: Thu Sep 09, 2010 3:08 pm

Re: About DGDenoise

Post by admin »

Sharc wrote:
admin wrote:The unexpected speed is making me think about porting other filters to CUDA. MV tools?
QTGMC on CUDA would be phantastic 8-)
That's why I mentioned mvtools. :wow:
DAE avatar
Guest

Re: About DGDenoise

Post by Guest »

My new system replaced my old i7-3930k system and I am about to replace my i5 LG1151 HTPC.
I am going to re purpose parts to build a server and then I might put the remaining parts together and give it away to somebody as is.
Or I might salvage some of the parts to start a second server (can never have too many)
Normally I just give away my old machines, storing them in the outdoor shed isn't a good idea (as I found out when I was younger)
User avatar
admin
Posts: 4551
Joined: Thu Sep 09, 2010 3:08 pm

Re: About DGDenoise

Post by admin »

C'mon, tell us about the shed.
DAE avatar
Guest

Re: About DGDenoise

Post by Guest »

The shed had no heat and wasn't rain proof
Put a computer in there for temporary storage, and when I went to get it, well it was a little rusty, shall we say.
Amazing how many metallic components are inside a computer
By the way, Power Supplies don't work too good after having ice inside of the unit
User avatar
admin
Posts: 4551
Joined: Thu Sep 09, 2010 3:08 pm

Re: About DGDenoise

Post by admin »

It's good to see that you have learnt your lesson from those early traumatic experiences. ;)
DAE avatar
Guest

Re: About DGDenoise

Post by Guest »

Yeah, I learned my lesson.
If I want a new system I just store the old spare outside, give it a couple of bad weather days (I am in Toronto, Canada) and there you go.
Darn it, old one is not really usable anymore
DAE avatar
Sharc
Posts: 233
Joined: Thu Sep 23, 2010 1:53 pm

Re: About DGDenoise

Post by Sharc »

admin wrote:
Sharc wrote:
admin wrote:The unexpected speed is making me think about porting other filters to CUDA. MV tools?
QTGMC on CUDA would be phantastic 8-)
That's why I mentioned mvtools. :wow:
I am just about to re-encode all my tapes thanks to the speed improvement with DGDenoise.
Rest assured I will test and probably redo everything once MVtools/QTGMC will be ported to CUDA.
You really deserve a couple of free beer! ;)
User avatar
admin
Posts: 4551
Joined: Thu Sep 09, 2010 3:08 pm

Re: About DGDenoise

Post by admin »

Beer! You figured out how to motivate me. Well, one way.

What are your typical qtgmc parameters?
DAE avatar
Sharc
Posts: 233
Joined: Thu Sep 23, 2010 1:53 pm

Re: About DGDenoise

Post by Sharc »

The beer is on the way.

QTGMC parameters:
- QTGMC() #default, or QTGMC(InputType=1) for cleaning up progressive sources
- QTGMC(preset="medium") #typical
- QTGMC(preset ="Slow",TR2=2,Sharpness=0.8,EZDenoise=1.0,NoisePreset="Slow",ShowNoise=false,ShowSettings=false,InputType=0) #in few cases, mainly for testing
User avatar
admin
Posts: 4551
Joined: Thu Sep 09, 2010 3:08 pm

Re: About DGDenoise

Post by admin »

What kind of beer are we talking about? I have an open mind but I don't like swill...think Budweiser as the epitome of swill. It's easy to make things cold and bubbly, we need character.
DAE avatar
Sharc
Posts: 233
Joined: Thu Sep 23, 2010 1:53 pm

Re: About DGDenoise

Post by Sharc »

The choice will be yours, of course.
Post Reply