Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion.

Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules.

 

Go Back   Doom9's Forum > Capturing and Editing Video > Avisynth Development

Reply
 
Thread Tools Search this Thread Display Modes
Old 18th June 2017, 01:00   #1201  |  Link
goorawin
Registered User
 
Join Date: Feb 2012
Posts: 48
Quote:
Originally Posted by HolyWu View Post
From my experence reinstalling GeForce driver after Win10 major updates solves this issue. YMMV.
That did the trick thank you. Interesting that it only caused an issue with 64bit scripts.
goorawin is offline   Reply With Quote
Old 30th June 2017, 19:14   #1202  |  Link
SaurusX
Registered User
 
Join Date: Feb 2017
Posts: 29
Great filter, khanatilla. Non-local means is an excellent noise reduction theory and with OpenCL its actually usable in my computer. Thanks for your hard work!
SaurusX is offline   Reply With Quote
Old 25th July 2017, 15:51   #1203  |  Link
SaurusX
Registered User
 
Join Date: Feb 2017
Posts: 29
Well, I found a way to break the filter while encoding some cartoons. Here's the pseudo-script:

MPEG2SOURCE("myclip")
TComb(mode=0, blah, blah) #for dot-crawl removal
TFM()
TDecimate()
the masked and motion-compensating derainbowing procedure found here
Bifrost(interlaced=false) #1.1 version for final de-rainbowing
KNLMeansCL(d=2,a=3,h=1.2,device_type="GPU") #Using Intel HD4000 graphics
maa2() #anti-alias
msharpen() #resharpen
dehalo_alpha() #de-halo
awarpsharp2() #sharpen chroma

It seems like too much temporal analysis will cause mask pops, frame flashing, and mistimed chroma in the final encode. I can remove TComb or remove Bifrost or change the d parameter to 1 and the problems disappear. This may not be a specific problem to KNLMeansCL, but I thought you'd like to know about it.

Last edited by SaurusX; 25th July 2017 at 15:54.
SaurusX is offline   Reply With Quote
Old 1st August 2017, 18:22   #1204  |  Link
MysteryX
Soul Architect
 
MysteryX's Avatar
 
Join Date: Apr 2014
Posts: 2,000
Quote:
Originally Posted by MysteryX View Post
This doesn't work in 16-bit

Code:
ConvertToYV24()
ConvertBits(16)
KNLMeansCL(D=2, A=2, h=1.5, channels="YUV")
KNLMeansCL: 'channels = YUV' require a YV24 pixel format!
Quote:
Originally Posted by Khanattila View Post
I am very busy so I do not have time now, but I notice your reports
This one is an easy bug, any plans to fix it soon?
MysteryX is offline   Reply With Quote
Old 10th August 2017, 12:39   #1205  |  Link
tuanden0
Registered User
 
Join Date: Oct 2016
Posts: 59
Sorry Sir, but after update my VGA card driver, the KNLMeansCL fillter make my PC reboot because the GPU load over 100%.
I tried to reinstall old driver but the issue still there.
I'm using NVIDIA GeForce GTX 650Ti.
tuanden0 is offline   Reply With Quote
Old 12th August 2017, 23:50   #1206  |  Link
bcn_246
Registered User
 
bcn_246's Avatar
 
Join Date: Nov 2005
Location: UK
Posts: 146
Roughly what does NLMeansCL2(h=radius*1.5,u=3,v=3) convert to for KNLMeansCL()?
bcn_246 is offline   Reply With Quote
Old 24th August 2017, 18:32   #1207  |  Link
Ben_Nicholls
Registered User
 
Join Date: Aug 2017
Location: Charlbury, UK
Posts: 18
Quote:
Originally Posted by tuanden0 View Post
Sorry Sir, but after update my VGA card driver, the KNLMeansCL fillter make my PC reboot because the GPU load over 100%.
I tried to reinstall old driver but the issue still there.
I'm using NVIDIA GeForce GTX 650Ti.
Have you confirmed that your GPU is 100% stable?

Running MSI Kombustor or FurMark should let you know: if either one crashes, your GPU isn't stable and probably needs replacing.
Ben_Nicholls is offline   Reply With Quote
Old 27th August 2017, 10:45   #1208  |  Link
tuanden0
Registered User
 
Join Date: Oct 2016
Posts: 59
Quote:
Originally Posted by Ben_Nicholls View Post
Have you confirmed that your GPU is 100% stable?

Running MSI Kombustor or FurMark should let you know: if either one crashes, your GPU isn't stable and probably needs replacing.
Thank for your reply,
My problem solved, my VGA card is dirty, so they crashed because it's too hot
I cleaned my VGA so it's OK
tuanden0 is offline   Reply With Quote
Old 27th August 2017, 18:21   #1209  |  Link
MysteryX
Soul Architect
 
MysteryX's Avatar
 
Join Date: Apr 2014
Posts: 2,000
Quote:
Originally Posted by tuanden0 View Post
Thank for your reply,
My problem solved, my VGA card is dirty, so they crashed because it's too hot
I cleaned my VGA so it's OK
Just cleaned my laptop too. Removing dust fixes a few things
MysteryX is offline   Reply With Quote
Old 18th September 2017, 10:34   #1210  |  Link
Khanattila
Registered User
 
Khanattila's Avatar
 
Join Date: Nov 2014
Posts: 420
Quote:
Originally Posted by bcn_246 View Post
Roughly what does NLMeansCL2(h=radius*1.5,u=3,v=3) convert to for KNLMeansCL()?
KNLMeansCL(d=0), but the results are different.
NLMeansCL2 worked on a smaller image.
__________________
https://github.com/Khanattila
Khanattila is offline   Reply With Quote
Old 23rd September 2017, 21:18   #1211  |  Link
Ben_Nicholls
Registered User
 
Join Date: Aug 2017
Location: Charlbury, UK
Posts: 18
Quote:
Originally Posted by Khanattila View Post
KNLMeansCL(d=0), but the results are different...
Thanks
Ben_Nicholls is offline   Reply With Quote
Old 1st October 2017, 10:51   #1212  |  Link
tuanden0
Registered User
 
Join Date: Oct 2016
Posts: 59
I tried to use KNLMeansCL to denoise all luma and chroma but I get this error and the screen preview is black
Quote:
knlm.KNLMeansCL: fatal error!
My test script:
Quote:
clip = core.lsmas.LWLibavSource(r"E:\Download\testsc.mkv", format="YUV420P8")
clip = core.std.AssumeFPS(clip, fpsnum=24000, fpsden=1001)
clip = core.knlm.KNLMeansCL(clip, h=0.4, channels="YUV")
clip.set_output()
tuanden0 is offline   Reply With Quote
Old 1st October 2017, 11:31   #1213  |  Link
Khanattila
Registered User
 
Khanattila's Avatar
 
Join Date: Nov 2014
Posts: 420
Quote:
Originally Posted by tuanden0 View Post
I tried to use KNLMeansCL to denoise all luma and chroma but I get this error and the screen preview is black

My test script:
"YUV" requires 4:4:4, aka no chroma subsampling.

Code:
clip = core.knlm.KNLMeansCL(clip, h=0.4, channels="Y") 
clip = core.knlm.KNLMeansCL(clip, h=0.4, channels="UV")
or

Code:
#convert to rgb
clip = core.knlm.KNLMeansCL(clip, h=0.4, channels="RGB") 
#convert to YUV again
__________________
https://github.com/Khanattila
Khanattila is offline   Reply With Quote
Old 1st October 2017, 14:05   #1214  |  Link
tuanden0
Registered User
 
Join Date: Oct 2016
Posts: 59
Quote:
Originally Posted by Khanattila View Post
"YUV" requires 4:4:4, aka no chroma subsampling.

Code:
clip = core.knlm.KNLMeansCL(clip, h=0.4, channels="Y") 
clip = core.knlm.KNLMeansCL(clip, h=0.4, channels="UV")
or

Code:
#convert to rgb
clip = core.knlm.KNLMeansCL(clip, h=0.4, channels="RGB") 
#convert to YUV again
It's work,
tuanden0 is offline   Reply With Quote
Old 6th October 2017, 19:05   #1215  |  Link
SaurusX
Registered User
 
Join Date: Feb 2017
Posts: 29
Can someone give me a primer as to what various settings of D and A result in? Such as what effect is to be expected, say, when D=1 and A=3, D=2 and A=1, etc? Maybe something like "X type of noise responds best with Y settings". It could be too broad of a question, but since this is such a time-expensive filter I'm looking for the best bang for the buck.

Currently I've settled on using knlmeanscl(D=1, A=3, h=??, S=1) for almost everything. I can push the D up to 2, but that increases encoding time on my GTX750 Ti by 40%. Also, on my system pushing up the D parameter can cause encoding errrors when combined with too many other temporal filters (I feel like I mention that a lot).
SaurusX is offline   Reply With Quote
Old 7th October 2017, 02:55   #1216  |  Link
lansing
Registered User
 
Join Date: Sep 2006
Posts: 802
Quote:
Originally Posted by SaurusX View Post
Can someone give me a primer as to what various settings of D and A result in? Such as what effect is to be expected, say, when D=1 and A=3, D=2 and A=1, etc? Maybe something like "X type of noise responds best with Y settings". It could be too broad of a question, but since this is such a time-expensive filter I'm looking for the best bang for the buck.

Currently I've settled on using knlmeanscl(D=1, A=3, h=??, S=1) for almost everything. I can push the D up to 2, but that increases encoding time on my GTX750 Ti by 40%. Also, on my system pushing up the D parameter can cause encoding errrors when combined with too many other temporal filters (I feel like I mention that a lot).
Filter description here
https://github.com/Khanattila/KNLMea...er-description

In short, D and A are for temporal size and spatial size. For temporal, unless you have some crazy dancing grain, D=2 (5 frames) should be enough for your needs, I just use D=1.

For A, S and H you'll have to tweak it according to your source. First bump H (strength) high enough to a point where it removes all noises or where it stopped removing more noise. Then work on A and S one at a time to remove noise that H haven't. At the same time gradually slide down H without introducing more noise.

A is the speed killer of the filter, on my GTX 650 ti boost, setting A from 1 to 5 had my speed dropped from 36fps to 2.97fps on a 1440x1080 clip...

Code:
clip = core.knlm.KNLMeansCL(clip, d=1, a=5, s=4, h=8)
I really want to know how the newer graphic cards do with a higher A value, because 3fps is just way too slow to me.
lansing is offline   Reply With Quote
Old 13th October 2017, 23:28   #1217  |  Link
Khanattila
Registered User
 
Khanattila's Avatar
 
Join Date: Nov 2014
Posts: 420
Quote:
Originally Posted by lansing View Post
A is the speed killer of the filter, on my GTX 650 ti boost, setting A from 1 to 5 had my speed dropped from 36fps to 2.97fps on a 1440x1080 clip...

Code:
clip = core.knlm.KNLMeansCL(clip, d=1, a=5, s=4, h=8)
I really want to know how the newer graphic cards do with a higher A value, because 3fps is just way too slow to me.
RX 480 ~8.5 fps
__________________
https://github.com/Khanattila
Khanattila is offline   Reply With Quote
Old 14th October 2017, 06:29   #1218  |  Link
edcrfv94
Registered User
 
Join Date: Apr 2015
Posts: 56
Quote:
Originally Posted by lansing View Post
Filter description here
https://github.com/Khanattila/KNLMea...er-description

In short, D and A are for temporal size and spatial size. For temporal, unless you have some crazy dancing grain, D=2 (5 frames) should be enough for your needs, I just use D=1.

For A, S and H you'll have to tweak it according to your source. First bump H (strength) high enough to a point where it removes all noises or where it stopped removing more noise. Then work on A and S one at a time to remove noise that H haven't. At the same time gradually slide down H without introducing more noise.

A is the speed killer of the filter, on my GTX 650 ti boost, setting A from 1 to 5 had my speed dropped from 36fps to 2.97fps on a 1440x1080 clip...

Code:
clip = core.knlm.KNLMeansCL(clip, d=1, a=5, s=4, h=8)
I really want to know how the newer graphic cards do with a higher A value, because 3fps is just way too slow to me.
Code:
	SetMemoryMax(3000)
	
	colorbars(width=1440, height=1080, pixel_type="yv12").killaudio().assumefps(25, 1)
	KNLMeansCL(d=1, a=5, s=4, h=8, device_type="GPU")
MSI GTX 1080 Ti GAMING X @1961MHz ~93% GPU load

15.37fps

Code:
	SetMemoryMax(3000)
	
	colorbars(width=1920, height=1080, pixel_type="yv12").killaudio().assumefps(25, 1)
	KNLMeansCL(d=2, a=4, s=4, device_type="GPU")
MSI GTX 1080 Ti GAMING X @1961MHz ~95% GPU load

10.07fps

Last edited by edcrfv94; 14th October 2017 at 06:33.
edcrfv94 is offline   Reply With Quote
Old 14th October 2017, 20:34   #1219  |  Link
lansing
Registered User
 
Join Date: Sep 2006
Posts: 802
So the newest card is 5x my speed, scaled reasonable base on the years both card came out.

And why is your card at 2G? The inform at newegg said that it has 11G.
lansing is offline   Reply With Quote
Old 14th October 2017, 21:56   #1220  |  Link
Groucho2004
 
Join Date: Mar 2006
Posts: 3,525
Quote:
Originally Posted by lansing View Post
And why is your card at 2G? The inform at newegg said that it has 11G.
Methinks you're confusing video memory with clock speed.
Groucho2004 is offline   Reply With Quote
Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +1. The time now is 02:55.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2017, vBulletin Solutions Inc.