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 Usage

Reply
 
Thread Tools Search this Thread Display Modes
Old 16th February 2017, 21:19   #1  |  Link
martin53
Registered User
 
Join Date: Mar 2007
Posts: 407
FFT3DFilter update (Avisynth 2.6 pixel types)

I am posting this here in a new thread so I could keep the attachment up to date in the 1st post if neccessary.

Two years ago, I updated the FFT3Dfilter source to work with Y8, YV24 and the other then existing AviSynth 2.6 pixel types. I had forgotten that in the meantime, but was remembered of it now.

So if anyone else besides me likes to use this plugin with the recent pixel types, here it is. Of course I checked permission with Fizick.

Full source included, and recompiled minutes ago with the recent Avisynth+ header and Visual Studio 2015.

Please note that the filename is fft3dfilter2.dll, to allow parallel existence of both dlls. The filter names are same.
Only when both dlls are present, use FFT3DFilter2_FFT3dFilter() to make sure you call the new one.
This version is not ICL10 compiled - I was said it has comparable performance to v2.1.1, however

Original thread is here.

EDIT Please note that pinterf largely improved fft3dfilter more, to version 2.3 which is here on github. So previously attached V2.2 removed here. pinterf!
Also, he started a new V2.3 thread in the development area

Last edited by martin53; 25th February 2017 at 10:03. Reason: added pinterf github reference
martin53 is offline   Reply With Quote
Old 16th February 2017, 21:31   #2  |  Link
StainlessS
HeartlessS Usurer
 
StainlessS's Avatar
 
Join Date: Dec 2009
Location: Over the rainbow
Posts: 10,980
Very useful M53, we loves FFT3DFilter (with light settings usually).

You might want to add link to original FFT3DFilter thread, just for completeness.
__________________
I sometimes post sober.
StainlessS@MediaFire ::: AND/OR ::: StainlessS@SendSpace

"Some infinities are bigger than other infinities", but how many of them are infinitely bigger ???
StainlessS is offline   Reply With Quote
Old 16th February 2017, 22:10   #3  |  Link
real.finder
Registered User
 
Join Date: Jan 2012
Location: Mesopotamia
Posts: 2,587
nice thing

it will more nice if there are 9-16 and 32 bits too
__________________
See My Avisynth Stuff
real.finder is offline   Reply With Quote
Old 18th February 2017, 23:12   #4  |  Link
Reel.Deel
Registered User
 
Join Date: Mar 2012
Location: Texas
Posts: 1,664
Thanks for the update martin53.


@Groucho2004

Can you please provide an ICL compiled binary (32/64 bit) just like you did for the original version?

Last edited by Reel.Deel; 18th February 2017 at 23:47. Reason: typo
Reel.Deel is offline   Reply With Quote
Old 19th February 2017, 00:46   #5  |  Link
Groucho2004
 
Join Date: Mar 2006
Location: Barcelona
Posts: 5,034
Quote:
Originally Posted by Reel.Deel View Post
@Groucho2004

Can you please provide an ICL compiled binary (32/64 bit) just like you did for the original version?
Will do, I have to make some code changes.
__________________
Groucho's Avisynth Stuff
Groucho2004 is offline   Reply With Quote
Old 19th February 2017, 10:46   #6  |  Link
pinterf
Registered User
 
Join Date: Jan 2014
Posts: 2,309
I would be nice that the project appear on github, and it would integrate Groucho2004's ICL compatibility changes, poor him has to apply it after each new version
pinterf is offline   Reply With Quote
Old 19th February 2017, 12:22   #7  |  Link
Groucho2004
 
Join Date: Mar 2006
Location: Barcelona
Posts: 5,034
Quote:
Originally Posted by pinterf View Post
I would be nice that the project appear on github, and it would integrate Groucho2004's ICL compatibility changes, poor him has to apply it after each new version
Since martin53 is using a modern MS compiler, the ICL builds barely show better performance, even for 64 bit which runs without the inline assembly functions.

A few IFDEFs in the code that disable the inline asm would make this 64 bit compatible and it could be built with the 64 bit VC2015 compiler. While at it, the ancient 3DNow stuff should be removed.

I'll make a 64 bit build later but for future iterations I'd suggest the above (or someone re-writes the SSE code for 64 bit ).

@martin53, a couple of suggestions:
Change the code for delayed loading of the fftw DLL to this:
Code:
hinstLib = LoadLibrary("libfftw3f-3.dll");
 if (hinstLib == NULL)
  hinstLib = LoadLibrary("fftw3.dll");
...
...
if (istat==0 || hinstLib==NULL || fftwf_free==NULL || fftwf_malloc==NULL || fftwf_plan_many_dft_r2c==NULL ||
 fftwf_plan_many_dft_c2r==NULL || fftwf_destroy_plan==NULL || fftwf_execute_dft_r2c==NULL || fftwf_execute_dft_c2r==NULL)
  env->ThrowError("FFT3DFilter: Cannot load FFTW3.DLL (LIBFFTW3F-3.DLL)!");
Also, since you changed the version number to 2.2 this should be reflected in the version resource (FFT3DFilter.rc).
__________________
Groucho's Avisynth Stuff

Last edited by Groucho2004; 19th February 2017 at 13:05.
Groucho2004 is offline   Reply With Quote
Old 19th February 2017, 12:54   #8  |  Link
Groucho2004
 
Join Date: Mar 2006
Location: Barcelona
Posts: 5,034
64 bit build is up.
__________________
Groucho's Avisynth Stuff
Groucho2004 is offline   Reply With Quote
Old 19th February 2017, 15:44   #9  |  Link
Reel.Deel
Registered User
 
Join Date: Mar 2012
Location: Texas
Posts: 1,664
Quote:
Originally Posted by Groucho2004 View Post
Thanks Groucho!

Quote:
Originally Posted by Groucho2004 View Post
I'll make a 64 bit build later but for future iterations I'd suggest the above (or someone re-writes the SSE code for 64 bit ).
In the VapourSynth port the inline code was simply removed: https://github.com/VFR-maniac/VapourSynth-FFT3DFilter
Reel.Deel is offline   Reply With Quote
Old 19th February 2017, 15:54   #10  |  Link
Groucho2004
 
Join Date: Mar 2006
Location: Barcelona
Posts: 5,034
Quote:
Originally Posted by Reel.Deel View Post
In the VapourSynth port the inline code was simply removed: https://github.com/VFR-maniac/VapourSynth-FFT3DFilter
The SSE inline asm in the 32 bit version provides a considerable performance boost. I'd leave it for now.
__________________
Groucho's Avisynth Stuff

Last edited by Groucho2004; 19th February 2017 at 16:09.
Groucho2004 is offline   Reply With Quote
Old 19th February 2017, 19:53   #11  |  Link
martin53
Registered User
 
Join Date: Mar 2007
Posts: 407
Quote:
Originally Posted by pinterf View Post
It would be nice that the project appear on github
I'd be pleased to do that, just worried I'd do something a wrong way. What should I observe?
martin53 is offline   Reply With Quote
Old 19th February 2017, 23:53   #12  |  Link
pinterf
Registered User
 
Join Date: Jan 2014
Posts: 2,309
Quote:
Originally Posted by martin53 View Post
I'd be pleased to do that, just worried I'd do something a wrong way. What should I observe?
Poor martin53, I'm seeing myself one year ago bothering with avs+ code , so you have to learn using git. Either from VS2015 integration which is quite useful, or from commandline (which was my nightmare, always worrying if I was doing something wrong and delete all upstream Avisynth plus codes forever - I knew nothing about git). If it is not ok, you can always delete the whole project from git and start again from stratch.
pinterf is offline   Reply With Quote
Old 24th February 2017, 22:44   #13  |  Link
martin53
Registered User
 
Join Date: Mar 2007
Posts: 407
Quote:
Originally Posted by pinterf View Post
Poor martin53
So thank you you not only took that grief from me, but also crafted the plugin into high bitdepth and x64 SSE era (readers see 1st post)

Last edited by martin53; 25th February 2017 at 00:02.
martin53 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 07:33.


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