View Full Version : [Neo] FFT3D / DFTTest
l33tmeatwad
15th August 2020, 22:12
This probably won't get any traction, but the way FFTW3 is being loaded by this plugin is causing FFTW3 to hard crash on macOS. I've tried to narrow down what is causing it, it appears to be crashing when calling it a second time (past validating that it exists). Crash will happen when attempting to seek or advance by a single frame. I know Catalina (the only version this will compile on) has caused issues for a lot of similar issues with other plugins, but I'm not sure what to do about fixing it.
kedautinh12
9th September 2020, 18:28
Can anyone compile neo-fft3d with this commit??
https://github.com/HomeOfAviSynthPlusEvolution/neo_FFT3D/commit/de866338d2de7a2c100aa1ba6a1e098280d5d884
Thanks
real.finder
9th September 2020, 19:14
I already did both http://www.solidfiles.com/v/xZn85B3knMGAy and http://www.solidfiles.com/v/55WKMW38dpX42
kedautinh12
10th September 2020, 00:15
Thanks
LeXXuz
4th October 2020, 13:23
I get artifacts with this filter (check link (https://www.mediafire.com/file/ej0uaxqnd2wk4kd/Attraction+3+HD4.mkv/file))
What kind of artifacts are you referring to? All I see is mosquito noise around the letters (which is probably in the source video too, but masked by noise) and a little bit of banding.
LeXXuz
4th October 2020, 21:55
I get quite different filesizes in direct comparison between dfttest and neo-dfttest with AVS+.
https://abload.de/thumb/screenshot2020-10-041yvjbg.png (https://abload.de/image.php?img=screenshot2020-10-041yvjbg.png)
Have there been any changes to the default filtering method or have the sigma values been reworked?
I used these script lines for dfttest/neo-dfttest:
dfttest(Y=true, U=true, V=true, sigma=64, tbsize=5, dither=0, threads=8, opt=4)
and
neo_dfttest(Y=3, U=3, V=3, sigma=64, tbsize=5, dither=0, threads=8, opt=3)
Shouldn't filesizes roughly be the same with both filters :confused:
Selur
2nd November 2020, 20:52
@realfinder: will the ncpu support make it to the git (https://github.com/HomeOfAviSynthPlusEvolution/neo_FFT3D) any time soon? because the release there does not support 'ncpu'.
Cu Selur
real.finder
2nd November 2020, 21:07
@realfinder: will the ncpu support make it to the git (https://github.com/HomeOfAviSynthPlusEvolution/neo_FFT3D) any time soon? because the release there does not support 'ncpu'.
Cu Selur
it's up to MeteorRain :) I am not a plugins Developer nor having access to https://github.com/HomeOfAviSynthPlusEvolution
Selur
2nd November 2020, 21:24
okay, thanks for the info,..
kedautinh12
3rd November 2020, 00:06
@realfinder: will the ncpu support make it to the git (https://github.com/HomeOfAviSynthPlusEvolution/neo_FFT3D) any time soon? because the release there does not support 'ncpu'.
Cu Selur
In neo_FFT3D compiled by realfinder have ncpu function
Selur
7th November 2020, 13:42
I know, but the source code does not, so no use when on MacOS or Linux. (using Vapoursynth)
real.finder
7th November 2020, 16:10
I know, but the source code does not, so no use when on MacOS or Linux. (using Vapoursynth)
I didn't change the source code, only build from last changes
MeteorRain
2nd January 2021, 05:34
I finally squeeze some time during new year holiday, and upload the latest change, with extra parameter mt that defaults to false to avoid strange issues for FFT3D.
If I get a chance I'm gonna update dfttest as well.
As a side note, if anyone is willing to participate in developing or maintaining any projects in this org, please let me know and I'll invite you.
Nuihc88
4th January 2021, 16:58
I'm seeing neo_FFT3D r10 sources, but no binaries.
StainlessS
4th January 2021, 21:36
Nuihc88,
Yeh I always take a little time to find binaries on current GitHub,
See Releases on right Hand Side, Under Above.
Or here:- https://github.com/HomeOfAviSynthPlusEvolution/neo_FFT3D/releases
EDIT: Actually its above r9 in small itsy bitsy letters [I downed r9 by mistake].
r10
1537395 zip tar.gz <<<<<<<<<<<< HERE, zip
r9
@msg7086 msg7086 released this on 22 Jun 2020 · 8 commits to master since this release
EDIT: Nah, the zip is only source code, I thought the tar.gz was source.
EDIT: OK, got it now. :)
kedautinh12
5th January 2021, 00:06
He was compile binary r10 and update it but i don't know why he deleted it
MeteorRain
5th January 2021, 01:52
Oh, it was a small glitch. I moved the tag forward to compile a Linux version but forgot to republish the binary on website. Should work now.
FranceBB
6th January 2021, 10:11
Thanks for the update.
Atlantis
6th January 2021, 22:32
Could you please explain more with the new option in V10? Is it bad if we enable mt? How was this working in V9?
kedautinh12
7th January 2021, 00:06
Could you please explain more with the new option in V10? Is it bad if we enable mt? How was this working in V9?
Here: https://github.com/HomeOfAviSynthPlusEvolution/neo_FFT3D/issues/4
Atlantis
7th January 2021, 00:35
What is libneo-fft3d.dll inside gcc-x64?
Why is it named differently?
kedautinh12
7th January 2021, 02:42
For linux??
pinterf
7th January 2021, 08:13
No, it is gcc build for Windows. For avisynth built with gcc. C++ ABI is different from Msvc.
LeXXuz
7th January 2021, 11:02
Is it possible to set different sigma-strings for luma and chroma planes without having to run neo-dfttest twice?
StainlessS
7th January 2021, 14:32
Just run it twice with eg filter1 Plane=0, and filter2 Plane=3.
1st filter only does Luma, 2nd only chroma.
(you''re still only processing 3 planes, even if it is done in 2 filter instances)
EDIT: Plane
0 Y
1 U
2 V
3 U+V
4 Y+U+V
LeXXuz
7th January 2021, 19:05
I know I can run it twice with only luma and chroma processing. I was just wondering if it wouldn't be faster to have just one filter call instead of two.
StainlessS
7th January 2021, 20:35
Yeah, and you could combine all avisynth filters into a single filter, thus doing away with almost all of them, NOT!
ChaosKing
7th January 2021, 22:16
I know I can run it twice with only luma and chroma processing. I was just wondering if it wouldn't be faster to have just one filter call instead of two.
Benchmark it and post the results :cool:
I don't think there will be much difference.
MeteorRain
8th January 2021, 18:39
What is libneo-fft3d.dll inside gcc-x64?
Why is it named differently?
Didn't intent to include gcc version. I've removed it to avoid confusion for others. No need to re-download.
I know I can run it twice with only luma and chroma processing. I was just wondering if it wouldn't be faster to have just one filter call instead of two.
No. Internally they do the same thing, creating 3 engines and processing 3 planes separately.
LeXXuz
10th January 2021, 09:01
No. Internally they do the same thing, creating 3 engines and processing 3 planes separately.
Ah, that's the info I was looking for. Thank you. :)
real.finder
24th March 2021, 21:07
I get artifacts with this filter (check link (https://www.mediafire.com/file/ej0uaxqnd2wk4kd/Attraction+3+HD4.mkv/file)) and had to roll back to plain dfttest. Probably an issue with HBD but I'm not sure. It gave me headaches for the last few days debugging my script.
This is my function call:
sneo_dfttest(slocation="0.0:5.0 0.2:4.0 1.0:1.0",tbsize=3,u=3,v=3)
this should be fixed on last update in sneo_dfttest in Community tree
I get quite different filesizes in direct comparison between dfttest and neo-dfttest with AVS+.
https://abload.de/thumb/screenshot2020-10-041yvjbg.png (https://abload.de/image.php?img=screenshot2020-10-041yvjbg.png)
Have there been any changes to the default filtering method or have the sigma values been reworked?
I used these script lines for dfttest/neo-dfttest:
dfttest(Y=true, U=true, V=true, sigma=64, tbsize=5, dither=0, threads=8, opt=4)
and
neo_dfttest(Y=3, U=3, V=3, sigma=64, tbsize=5, dither=0, threads=8, opt=3)
Shouldn't filesizes roughly be the same with both filters :confused:
maybe those because neo_dfttest is based on VS dfttest port which has some default settings changes
neo/vs -> original avs dfttest
sigma/sigma2
8.0 -> 16.0
sbsize
16 -> 12
sosize
12 -> 9
tbsize
3 -> 5
so I think these need to be added in
Difference compared to pinterf/dfttest
Dual interface, supporting AviSynth+ and VapourSynth
Parameter names and opt levels follow VapourSynth-DFTTest
Removed Y, U, V options, added y, u, v options for plane control
Removed hacked 16 bit I/O
Replaced internal multi-threading with C++ Parallel STL, removed Windows specific APIs
Improved precision of floating point reciprocal using Newton Raphson method
edit: sigma/sigma2 was mentioned https://forum.doom9.org/showpost.php?p=1907702&postcount=4 but others are not
LeXXuz
9th May 2021, 14:02
I have a general question regarding dfttest. But the original thread I found is rather ancient so maybe this is a better place.
My question is regarding frequencies with the sstring-parameter. I would like to understand this better. :o
From the Wiki:
string sstring, ssx, ssy, sst = ""
Used to specify functions of sigma based on frequency.
If you want sigma to vary based on frequency, then use 'sstring' instead of sigma. sstring allows you to enter values of sigma for different normalized [0.0,1.0] frequency locations.
Values for locations between the ones you explicitly specify are computed via linear interpolation. The frequency range, which is dependent on sbsize/tbsize, is normalized to [0.0,1.0] with 0.0 being the lowest frequency and 1.0 being the highest frequency.
I'd like to understand better what is meant by frequencies in this case. After Fourier transform higher frequencies represent higher/finer structures or detail in the picture while lower frequencies represent low details, right?
Noise is usually somewhat fine detail, so higher frequencies should be filtered maybe more, than lower ones?
I ran some tests on a sample with very fine/ high pitched noise and these sigma strings:
1) sstring="0.0:0 0.7:0 0.8:64 1.0:64" (strong filtering for hf and no filtering for lf)
and vice versa
2) sstring="0.0:64 0.2:64 0.3:0 1.0" (no filtering for hf and strong filtering for lf)
According to the Wiki, the first string should filter that very fine noise much better than the second. But the opposite seems to be the case. So I was wondering if that maybe a typo in the Wiki or I made a mistake.
Can someone test and either confirm or disprove this? :o
real.finder
29th May 2021, 06:45
seems both plugins here have same problem as https://github.com/HomeOfAviSynthPlusEvolution/neo_f3kdb/issues/7 (at least in avs+)
kedautinh12
30th May 2021, 16:57
real.finder updated new commits to fix Update AVS headers and copy frame properties for AVS+ and VS. If anyone interested
https://github.com/HomeOfAviSynthPlusEvolution/neo_DFTTest/commits/master
https://github.com/HomeOfAviSynthPlusEvolution/neo_FFT3D/pull/6/commits
kedautinh12
31st May 2021, 07:32
After tested with new commits from real.finder. I seen speed was increased
tormento
31st May 2021, 09:48
After tested with new commits from real.finder. I seen speed was increased
Where to find the Windows build?
kedautinh12
31st May 2021, 10:25
Here only x64 built by real.finder, need x86 build by someone, thanks
https://github.com/HomeOfAviSynthPlusEvolution/neo_FFT3D/files/6566428/neo-x64.zip
GMJCZP
31st May 2021, 14:37
Here only x64 built by real.finder, need x86 build by someone, thanks
https://github.com/HomeOfAviSynthPlusEvolution/neo_FFT3D/files/6566428/neo-x64.zip
Thanks, we will be waiting for the x86 version to test it.
kedautinh12
17th August 2021, 02:26
Sorry for the late reply.
Used script:LoadPlugin(".\NeoFFT3D_r7\clang-x64\neo-fft3d.dll")
ColorBars(1920,1080, pixel_type="rgbp16") #tested rgbp, rgbps, yv12, yuv420p16, yuv420ps, yuv444ps (same behavior always)
n=3
a=neo_fft3d(sigma=1.0, beta=1.0, bw=48, bh=48, sharpen=0.040, scutoff=0.01, y=3, u=2, v=2, bt=5, opt=n)
b=neo_fft3d(sigma=1.0, beta=1.0, bw=48, bh=48, sharpen=0.040, scutoff=0.01, y=3, u=2, v=2, bt=5, opt=1)
Compare(a,b)
Subtitle("neo_fft3d(sigma=1.0, beta=1.0, bw=48, bh=48, sharpen=0.040, scutoff=0.01, y=3, u=2, v=2, bt=5, opt="+string(n)+")"+"\n"+"neo_fft3d(sigma=1.0, beta=1.0, bw=48, bh=48, sharpen=0.040, scutoff=0.01, y=3, u=2, v=2, bt=5, opt=1)", lsp=1, y=1040)
https://thumbs2.imgbox.com/ae/0a/SBZEn8T5_t.png (http://imgbox.com/SBZEn8T5) https://thumbs2.imgbox.com/79/a6/WpKGRVGh_t.png (http://imgbox.com/WpKGRVGh) https://thumbs2.imgbox.com/0a/fc/48odxsGP_t.png (http://imgbox.com/48odxsGP)
Fixed
https://github.com/HomeOfAviSynthPlusEvolution/neo_FFT3D/releases
kedautinh12
17th August 2021, 02:27
Thanks, we will be waiting for the x86 version to test it.
Had x86 ver
bruno321
6th March 2022, 06:14
I'm trying to load the plugin but failing. Here's what avsmeter reports:
Cannot load file 'C:/Program Files (x86)/AviSynth+/plugins64/neo-fft3d.dll'. Platform returned code 126:
The specified module could not be found.
Dependencies that could not be loaded:
MSVCP140_ATOMIC_WAIT.dll
Visual C++ Redistributable for Visual Studio 2015 is already installed, is there something else I should be installing? Thanks.
kedautinh12
6th March 2022, 06:43
You can download latest ver here:
https://github.com/abbodi1406/vcredist/releases
kedautinh12
30th August 2022, 05:41
Neo-DFTTest updated r8
https://github.com/HomeOfAviSynthPlusEvolution/neo_DFTTest/releases
FranceBB
31st August 2022, 07:41
Thanks for the heads up.
Github is on drugs this morning, though:
<Code>ServerBusy</Code>
<Message>Egress is over the account limit. RequestId:59449abb-501e-005b-2704-bd1b5e000000 Time:2022-08-31T06:40:34.5336533Z</Message>
EDIT: And now is back.
EDIT2: If you're using Windows XP please note that r8 x86 build will NOT work on Windows XP!
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.