Log in

View Full Version : GPU noise filters for avisynth 64bit


Slogra
25th October 2020, 13:39
Right now i'm using the 10 year old FFT3dGPU 64bit (FFT3DGPU_3-15-2010.rar from this page https://github.com/pinterf/FFT3dGPU).

KNLMeansCL just doesn't seem to work well on my AMD Radeon cards. It either does not work at all, uses way to much GPU power or even crashes my pc.


Do you know any other GPU noise filters, besides KNLMeansCL and FFT3dGPU?

videoh
25th October 2020, 13:50
There is DGDenoise, part of DGDecNV (requires small donation). May not work for you though because it requires an nVidia GPU.

real.finder
25th October 2020, 15:13
yes there are some problems in KNLMeansCL https://forum.doom9.org/showthread.php?p=1925937#post1925937

let's hope it will be fixed soon

Selur
25th October 2020, 15:51
Deathray and GPUBilateral are also gpu based denoise filter for Avisynth, but it's been ages since I tried to use them,... (so no clue if they actually still work)
-> not sure there's a 64bi version of those,..

real.finder
25th October 2020, 16:15
-> not sure there's a 64bi version of those,..

there are

https://github.com/JawedAshraf/Deathray/blob/x64-experimental/Deathray.dll

but no HBD, only yv12, if you use any other you will get bad output

Slogra
25th October 2020, 16:35
KNLMeansCL has never worked properly on AMD Radeon cards, so i don't think it will be fixed anytime soon (or ever).

I believe Deathray and GPUBilateral are indeed only 32bit. I'll have to try them. And they might be even older than FFT3dGPU.

I was hoping for something newer and better, but so far it looks like FFT3dGPU is my only option.


Edit: thanks real.finder, i'll try Deathray 64bits

Atak_Snajpera
26th October 2020, 13:48
Knlmeanscl works fine on my rx570 4GB. Btw. Why do you use prefetch for filter which already saturate GPU at 100%?

Slogra
26th October 2020, 14:49
Who is using prefetch?

If i use the standard settings for Knlmeancl in ripbot264, it does not work. Does that use prefetch?
I had that problem with my rx480 4gb for years and then also with my vega 64. So i presume it's an amd radeon issue.


I have to say FFT3dGPU still works really well. Stable and fast. And the video image is quite good. I'd say slightly better than Knlmeanscl.

I encode 1080p at around 29fps using x265 crf20 with 100% cpu and 20% gpu for FFT3dGPU.

Atak_Snajpera
26th October 2020, 15:42
Who is using prefetch?

If i use the standard settings for Knlmeancl in ripbot264, it does not work. Does that use prefetch?
I had that problem with my rx480 4gb for years and then also with my vega 64. So i presume it's an amd radeon issue.


I have to say FFT3dGPU still works really well. Stable and fast. And the video image is quite good. I'd say slightly better than Knlmeanscl.

I encode 1080p at around 29fps using x265 crf20 with 100% cpu and 20% gpu for FFT3dGPU.

Problem?
https://i.postimg.cc/k7LQ1DXm/Untitled-1.png

real.finder
26th October 2020, 15:48
Knlmeancl has problems even without prefetch https://forum.doom9.org/showthread.php?p=1926495#post1926495, but prefetch make it worst

real.finder
30th October 2020, 18:25
Slogra, can you test this? https://drive.google.com/uc?export=download&id=1gCIJlqUApoEFAPKJ8ab7v3qAhUkMlROw it has fix by pinterf and seems work fine with mt (prefetch), see if it crash for you or not

Slogra
1st November 2020, 15:00
I'm not sure if we are having the exact same problems.

I get a very dark image when i use the default settings in Ripbot264 v1.26.0 and original KNLMeansCL.dll. I load the video with batch converter, then edit the job and selected KNLMeansCL with mono noise 2 setting.

When i replace the original KNLMeansCL.dll with the new one i get the same dark image.

I can fix this issue by changing the size of the video before applying the filter. Strange issue and strange solution :).


Right now, i do not have any other issues with the KNLMeansCL.
Looks like some KNLMeansCL changes were done in the last few versions of Ripbot264 though, which might have fixed some of my issues. It could also be resolved by a driver update though.

Other issues i had which seems to be resolved are:
- very high GPU usage
- Crash of my pc (probably due the above?). The deadlock you are experiencing?

real.finder
1st November 2020, 15:54
so you still get a problem with this update or not? or it's already fixed? high GPU usage is normal I think since it's not easy algorithm (you can see how slow it is in TNLMeans which using only cpu)

and after another test, pinterf test build seems also fix this too https://forum.doom9.org/showthread.php?p=1926495#post1926495

I can fix this issue by changing the size of the video before applying the filter. Strange issue and strange solution .

can you post a simple script using ColorBars that show the problem?

edit: I find https://forum.doom9.org/showthread.php?p=1873988&highlight=dark#post1873988 and https://github.com/Khanattila/KNLMeansCL/issues/26 and https://forum.doom9.org/showthread.php?p=1922856&highlight=dark#post1922856

Slogra
2nd November 2020, 20:32
Yes, i still have the issue with a dark image even with the newest version "KNLMeansCL v1.1.1c - 20201028-pfmod".

It looks the same as the top image on: https://imgur.com/a/N1y9OwH

Edit: attached Colorbars screenshot

Edit2:
The Ripbot264 script looks like this:

#MT
Import("E:\Utils\DVDrip\ripbot264\Tools\AviSynth plugins\Scripts\MTmodes.avs")
#PREFETCH_LIMIT=0

#VideoSource
LoadPlugin("E:\Utils\DVDrip\ripbot264\Tools\AviSynth plugins\lsmash\LSMASHSource.dll")
video=LWLibavVideoSource("F:\DVDrip\HD Color Bars and Test Tone - NTSC_1080p.mp4",cachefile="E:\Temp\RipBot264temp\job26\HD Color Bars and Test Tone - NTSC_1080p.mp4.lwi")

#Resize
LoadPlugin("E:\Utils\DVDrip\ripbot264\Tools\AviSynth plugins\Plugins_JPSDR\Plugins_JPSDR.dll")
video=Spline36ResizeMT(video,1920,1080)

#Prefetch
video=Prefetch(video,6)

#After_Prefetch_Denoise
LoadPlugin("E:\Utils\DVDrip\ripbot264\Tools\AviSynth plugins\KNLMeansCL\KNLMeansCL.dll")
video=KNLMeansCL(video,d=1, a=2, s=4, h=2, device_type="GPU", device_id=0)

#AudioSource
Import("E:\Temp\RipBot264temp\job26\job26_a1.avs")

real.finder
2nd November 2020, 21:15
I mean as

colorbars()
converttoyv12
KNLMeansCL