View Full Version : Good noise reduction filter - Does it make sense?
crystalfunky
28th May 2020, 19:51
Hi,
I'm looking for some opinions about noise reduction when handling x265 codec.
I know there is the option of nr-intra & inter,
but all I get is some blurry picture, even on low values like 100
and setting deblocking to -6 which will sharpening the picture to my knowledge.
I've tested some filters from Staxrip, some are ok, most are bad.
And they lengthen the encoding process by a lot.
My goal is to reduce unnecessary bitrate because of noise = reduced filesize.
What are your thoughts?
Asmodian
28th May 2020, 22:55
Yes, your finding pretty much match mine. However, DO NOT use deblocking to try to sharpen the image, that is not what it is for and it does not work for this use case.
You can get more and more advanced for better results but it will take more time and there are still downsides. Noise and detail are hard to discriminate and denoising video is not a solved problem.
I like the motion compensated temporal denoising techniques, but they are slow.
Blue_MiSfit
29th May 2020, 03:21
Look into Vapoursynth.
I've recently taken in for a spin after being exclusively in the ffmpeg world for years and it's quite neat. Lots of the good filters from AviSynth have been ported over and run safely in 64 bit and stuff.
SMDegrain is pretty awesome, so is KNLMeansCL.
Boulder
29th May 2020, 17:29
If you have a decent GPU, KNLMeansCL is definitely a good one to test.
The motion compensated methods are more accurate in general, but of course, it will require CPU cycles. Or why not try BM3D, it could be helpful too.
crystalfunky
29th May 2020, 22:39
Will KNLMeansCL automatically use my gpu when using Staxrip?
My gpu is a radeon RX 460 4GB.
CPU is a Ryzen 3700x
I should note, that the source is a 4k HDR source
stax76
29th May 2020, 23:16
Will KNLMeansCL automatically use my gpu when using Staxrip?
As far as I know this filter uses always the GPU.
In Win 10 you can look in the task manager if the GPU is in use.
Or in the staxrip Code Editor there is a feature: Advanced Info > avsmeter benchmark
benwaggoner
29th May 2020, 23:19
Any non-temporal noise removal feature will inevitably cause bad blurring in textured static parts of the image. The key thing about noise is it is random per frame, so only a good temporal filter can tell the difference between noise and texture.
crystalfunky
30th May 2020, 10:50
I always get an error code 126 (FFT3dGPU.dll can't be found, but it's there) when trying to enable the MCtemporaldenoise filter in staxrip.
I tried the last stable as well as the last beta release. Can't get it to work.
Any ideas?
stax76
30th May 2020, 11:54
126 means DLL not found, it can also be a dependency. A little help for this error code is a tool named Dependency Walker, apparently this plugin dependents on DirectX 9. In the staxrip Apps dialog search for DirectX and click on download. Normally staxrip verifies such dependencies but this was unknown to staxrip, it will be fixed in the next build.
Groucho2004
30th May 2020, 13:06
I always get an error code 126 (FFT3dGPU.dll can't be found, but it's there) when trying to enable the MCtemporaldenoise filter in staxrip.
I tried the last stable as well as the last beta release. Can't get it to work.
Any ideas?
Use this (https://forum.doom9.org/showthread.php?t=176079) tool and post the report ("Save info...").
crystalfunky
30th May 2020, 17:33
I attached the AVSinfotool files.
DirectX 9 is installed and found by staxrip.
Groucho2004
30th May 2020, 20:37
I attached the AVSinfotool files.
DirectX 9 is installed and found by staxrip.Looks all good but that's understandable since only the standard plugins that come with Avisynth are in the auto-load directories.
You should try AVSMeter (https://forum.doom9.org/showthread.php?t=174797) with this command line:
"AVSMeter avsinfo -lf -c".
The "-c" switch will let you select a custom plugin directory. Select the directory that contains all the plugins your script loads manually. The "-lf" switch creates a log file you should post.
Edit:
Alternatively, you can simply run the script with AVSMeter ("AVSMeter script.avs -lf).
crystalfunky
4th June 2020, 21:46
I'm sorry that goes beyond my dos coding talents.
Maybe I wait and hope that Staxrip admins will fix the issue and upload a new version with the bugfix.
Still wanna use the MCTempDenoise filter!
stax76
5th June 2020, 17:03
@Groucho2004
In StaxRip every AviSynth or VapourSynth plugin or every tool in general has its own folder.
crystalfunky
8th June 2020, 21:39
I tried using the MCTempDenoise filter with the new 2.1.1.9 staxrip version.
Unfortunately I still get the same error.
Will this be fixed soon?
stax76
9th June 2020, 01:16
It's fixed in the latest build.
crystalfunky
9th June 2020, 09:13
tried 2.1.2.2
Unfortunately I still get the same error when I enable the MCTempDenoise Filter in staxrip.
"Cannot load file "...Staxrip folder/Apps/Plugins/AVS/FFT3DGPU/FFT3dGPU.dll". Platform returned code 126: The specified module wasn't found."
Source file is HDR 4K.
Groucho2004
9th June 2020, 09:38
I'm sorry that goes beyond my dos coding talents.It has nothing to do with DOS or coding. You just open a console window and type the commands I mentioned.
stax76
9th June 2020, 14:38
@crystalfunky
I have enabled MCTempDenoise and opened the preview in staxrip, after that I started an application called Process Explorer and clicked on the search toolbar button, in the search field I entered gpu and clicked enter, this showed me that the staxrip process has successfully loaded a DLL named FFT3dGPU.dll.
This means it's working here and the problem is specific to your machine, this DLL has gpu in its name which implies it could be a missing GPU driver or hardware, or it could be a dependency.
@Groucho
I wanted to write a guide for crystalfunky how to do the diagnostic in the staxrip terminal (Tools > Advanced > Windows Terminal) but it doesn't work.
Desktop> AVSMeter64 avsinfo -c ("$env:startup_dir\Apps\Plugins\AVS\FFT3DGPU")
Invalid argument: "D:\Projekte\VB\staxrip\bin\\Apps\Plugins\AVS\FFT3DGPU"
Desktop> AVSMeter64 avsinfo -c 'D:\Projekte\VB\StaxRip\bin\Apps\Plugins\AVS\FFT3DGPU'
Invalid argument: "D:\Projekte\VB\StaxRip\bin\Apps\Plugins\AVS\FFT3DGPU"
Groucho2004
9th June 2020, 14:46
@Groucho
I wanted to write a guide for crystalfunky how to do the diagnostic in the staxrip terminal (Tools > Advanced > Windows Terminal) but it doesn't work.
Desktop> AVSMeter64 avsinfo -c ("$env:startup_dir\Apps\Plugins\AVS\FFT3DGPU")
Invalid argument: "D:\Projekte\VB\staxrip\bin\\Apps\Plugins\AVS\FFT3DGPU"
Desktop> AVSMeter64 avsinfo -c 'D:\Projekte\VB\StaxRip\bin\Apps\Plugins\AVS\FFT3DGPU'
Invalid argument: "D:\Projekte\VB\StaxRip\bin\Apps\Plugins\AVS\FFT3DGPU"
The switch "-c" invokes a directory selection dialog where you can pick the directory with the plugins you want to check. You don't specify the directory on the command line.
stax76
9th June 2020, 14:53
A little "special" for a console tool :)
The documentation (https://forum.doom9.org/showthread.php?t=174797)doesn't explain this well btw.
Groucho2004
9th June 2020, 16:01
A little "special" for a console tool :)Yes it is.
The documentation (https://forum.doom9.org/showthread.php?t=174797)doesn't explain this well btw.That page merely gives a rough overview of the switches. The documentation is included in the distro. However, I'll probably "verbosify" this switch a bit. ;)
crystalfunky
9th June 2020, 22:25
@crystalfunky
I have enabled MCTempDenoise and opened the preview in staxrip, after that I started an application called Process Explorer and clicked on the search toolbar button, in the search field I entered gpu and clicked enter, this showed me that the staxrip process has successfully loaded a DLL named FFT3dGPU.dll.
This means it's working here and the problem is specific to your machine, this DLL has gpu in its name which implies it could be a missing GPU driver or hardware, or it could be a dependency.
Ok I did what you did.
After enabling the filter in staxrip I clicked on preview and got the same error that the module cannot be found.
Searched in process explorer for gpu and the program couldn't find anything.
I'm using a Radeon RX 460 with current drivers.
Do I need to install anything besides Staxrip and all the apps that are required by Staxrip (e.g. Avisynth, Visual C++, etc.), which will be installed automatically?
@Groucho
Tried your method. I attached the log.
I checked with avsmeter. Will the program give me any errors?
Groucho2004
10th June 2020, 07:52
@Groucho
Tried your method. I attached the log.
I checked with avsmeter. Will the program give me any errors?It looks as if you did not use the "-c" switch. Anyway, according to stax, each plugin resides in its own directory which would make checking with AVSMeter rather cumbersome.
You can still use the second option I pointed out in post #12:
Run the script with AVSMeter ("AVSMeter script.avs -lf) and post the created log file.
crystalfunky
10th June 2020, 08:44
When I try to use the autoload script file "MCTemporalDenoise.avsi" renamed to avs at the end, with the command -lf then avsmeter tells me "invalid switch in this context: -lf"
I tried the -c command already and checked the MCTempDenoise folder, as well as the FFt3dGPU folder. Thats why I asked if the program will give me anything (errors, etc.), because it somehow just checked and gave me nearly nothing at the end.
Edit: Did everything again with your method. I hope it's all there now.
Groucho2004
10th June 2020, 09:15
When I try to use the autoload script file "MCTemporalDenoise.avsi" renamed to avs at the end, with the command -lf then avsmeter tells me "invalid switch in this context: -lf"
I tried the -c command already and checked the MCTempDenoise folder, as well as the FFt3dGPU folder. Thats why I asked if the program will give me anything (errors, etc.), because it somehow just checked and gave me nearly nothing at the end.
Edit: Did everything again with your method. I hope it's all there now.
The "-lf" was a typo, sorry about that. You simply run "AVSMeter script.avs -log". I don't know why you would rename "MCTemporalDenoise.avsi" and run that. You're supposed to run the script that staxrip created.
crystalfunky
10th June 2020, 10:46
ok, it just gave me the same error, which staxrip already gave me.
The module cannot be found (error 126). FFt3dgpu.dll
Edit: Just tried the whole thing on my laptop and I get the same error.
So either I'm missing something, or the problem is not my doing but in the program.
Used: Staxrip 2.1.1.2
Groucho2004
10th June 2020, 11:29
ok, it just gave me the same error, which staxrip already gave me.
The module cannot be found (error 126). FFt3dgpu.dllI'll let stax take over from here, I don't know that gui at all. Still, can you post the script?
crystalfunky
12th June 2020, 08:13
Hat to rename the file from .avs to .txt
crystalfunky
12th June 2020, 22:34
Ok so it's getting interesting. I looked in the readme from FFT3dGPU folder. There was something about Dx9, so I installed that on my Windows 10 system.
It got me a new error in Staxrip 2.1.3.0 though. The last one (Error 126, file cannot be found) was gone.
The new one says: This is not an YV12 clip. Please convert to YV12 colorspace.
How the heck am I suppose to do that? It's a normal HDR 4K clip. The mediainfo says that it's YUV and 4:2:0 (Type 2).
If you know something guys, I would really appreciate your help.
crystalfunky
12th June 2020, 23:02
I guess this doesn't make sense any more.
I would delete this thread, since my original question is another.
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.