Page 7 of 17

Re: About DGDenoise

Posted: Fri Feb 17, 2017 11:09 am
by admin
A smaller edge on Maxwell it seems. Let's see what gonca comes up with on his 1070.

Thanks for your testing, Sharc.

Re: About DGDenoise

Posted: Fri Feb 17, 2017 12:12 pm
by admin
a = 2 for DGDenoise. I assume quality would suffer a lot for a = 1, but I haven't tried it.

Re: About DGDenoise

Posted: Fri Feb 17, 2017 3:24 pm
by Sharc
Is the speed noise agnostic, or does it somehow depend on the kind and strength of the actual noise?
Anon17: Your source (colorbar) is noise free as I understand.

Re: About DGDenoise

Posted: Fri Feb 17, 2017 3:26 pm
by Guest
The kingdom is yours, sire
Persistence and talent pay off
I'll say it again --- separate license?

Re: About DGDenoise

Posted: Fri Feb 17, 2017 5:10 pm
by Guest
Sorry about the delay. When I got home from work and the news got right on it. (stopped part way for dinner)

x_32
KNLM is about 1fps
DGDenoise is 118.9fps

Code: Select all

Log created with:           AVSMeter 2.4.9 (x86)
Script file:                C:\Users\LUIS\Desktop\DGDenoise.AVS


[OS/Hardware info]
Operating system:           Windows 10 (x64) (Build 14393)
CPU (brand string):         Intel(R) Core(TM) i7-6900K CPU @ 3.20GHz
CPU (code name):            Broadwell-E (Core i7)
CPU instruction sets:       MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, FMA3, AVX, AVX2
CPU clock (measured):       3675 MHz
CPU cores / Logical cores:  8 / 16
Video card:                 NVIDIA GeForce GTX 1070
GPU / VPU version:          GP104 / VP8
Video memory size:          8192
OpenCL version:             OpenCL 1.2 CUDA
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:                 7194
Length (hh:mm:ss.ms):     00:05:00.050
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:               7194 (0 - 7193)
FPS (min | max | average):      74.69 | 120.3 | 118.9
Memory usage (phys | virt):     217 | 310 MiB
Thread count:                   9
CPU usage (average):            6%

GPU core clock | memory clock:  1873 | 1901
GPU usage (average):            80%
VPU usage (average):            22%
GPU memory usage:               557 MiB

Time (elapsed):                 00:01:00.482


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


x_64

KNLM is about 100 fps
DGDenoise is 206.5 fps

Code: Select all

Log created with:           AVSMeter 2.4.9 (x64)
Script file:                C:\Users\LUIS\Desktop\DGDenoise.AVS


[OS/Hardware info]
Operating system:           Windows 10 (x64) (Build 14393)
CPU (brand string):         Intel(R) Core(TM) i7-6900K CPU @ 3.20GHz
CPU (code name):            Broadwell-E (Core i7)
CPU instruction sets:       MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, FMA3, AVX, AVX2
CPU clock (measured):       3668 MHz
CPU cores / Logical cores:  8 / 16
Video card:                 NVIDIA GeForce GTX 1070
GPU / VPU version:          GP104 / VP8
Video memory size:          8192
OpenCL version:             OpenCL 1.2 CUDA
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:                 7194
Length (hh:mm:ss.ms):     00:05:00.050
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:               7194 (0 - 7193)
FPS (min | max | average):      85.23 | 209.3 | 206.5
Memory usage (phys | virt):     236 | 700 MiB
Thread count:                   12
CPU usage (average):            6%

GPU core clock | memory clock:  1886 | 1901
GPU usage (average):            64%
VPU usage (average):            37%
GPU memory usage:               647 MiB

Time (elapsed):                 00:00:34.831


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


AND THE NEW HEAVYWEIGHT CHAMP IS DGDenoise!

Kinda wish I had forked over the extra money for 1080 to see the numbers

Re: About DGDenoise

Posted: Fri Feb 17, 2017 5:45 pm
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.

Re: About DGDenoise

Posted: Sat Feb 18, 2017 7:13 am
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.

Re: About DGDenoise

Posted: Sat Feb 18, 2017 9:04 am
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.

Re: About DGDenoise

Posted: Sat Feb 18, 2017 11:46 am
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)

Re: About DGDenoise

Posted: Sat Feb 18, 2017 12:30 pm
by admin
Looks good, gonca.

When are you buying that 1080?

Re: About DGDenoise

Posted: Sat Feb 18, 2017 3:49 pm
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.

Re: About DGDenoise

Posted: Sat Feb 18, 2017 3:56 pm
by admin
Good to hear, Sharc, thank you.

Re: About DGDenoise

Posted: Sat Feb 18, 2017 4:20 pm
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

Re: About DGDenoise

Posted: Sat Feb 18, 2017 4:27 pm
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. :?

Re: About DGDenoise

Posted: Sat Feb 18, 2017 4:34 pm
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-)

Re: About DGDenoise

Posted: Sat Feb 18, 2017 5:04 pm
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

Re: About DGDenoise

Posted: Sat Feb 18, 2017 5:54 pm
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?

Re: About DGDenoise

Posted: Sat Feb 18, 2017 6:06 pm
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

Re: About DGDenoise

Posted: Sat Feb 18, 2017 6:25 pm
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:

Re: About DGDenoise

Posted: Sat Feb 18, 2017 6:33 pm
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:

Re: About DGDenoise

Posted: Sat Feb 18, 2017 6:49 pm
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)

Re: About DGDenoise

Posted: Sat Feb 18, 2017 9:18 pm
by admin
C'mon, tell us about the shed.

Re: About DGDenoise

Posted: Sat Feb 18, 2017 9:29 pm
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

Re: About DGDenoise

Posted: Sat Feb 18, 2017 9:36 pm
by admin
It's good to see that you have learnt your lesson from those early traumatic experiences. ;)

Re: About DGDenoise

Posted: Sun Feb 19, 2017 11:09 am
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