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 21st February 2017, 20:09   #1  |  Link
pinterf
Registered User
 
Join Date: Jan 2014
Posts: 2,309
FFT3DFilter 2.6

Big thanks to martin53 who woke up first an made and update to this plugin recently.

EDIT:
Get latest version from https://github.com/pinterf/fft3dfilter/releases

Then I checked what the source looked like from inside, put it on git, modified one or two things and now it's ready for experimenting.

Experimental.
x86/x64 versions and XP support (I hope)
  • apply current avs+ headers
  • 10-16 bits and 32 bit float colorspace support in AVS+
  • Planar RGB support
  • look for libfftw3f-3.dll first, then fftw3.dll
  • inline asm ignored on x64 builds
  • pre-check: if plane to process for greyscale is U and/or V then returns original clip
  • auto registers MT mode for avs+: MT_SERIALIZED
  • autoscale sigma and smin/smax parameter from 8 bit scale if colorspace is different

I need help what parameters are affected when bit depth changes. Now I autoscale all the sigma parameters, smin and smax.

Compiled with VS2015

Last edited by pinterf; 1st February 2019 at 11:50. Reason: New version
pinterf is offline   Reply With Quote
Old 21st February 2017, 22:00   #2  |  Link
Groucho2004
 
Join Date: Mar 2006
Location: Barcelona
Posts: 5,034
I checked XP support, works fine (x86/x64). By the way, remove the 3DNow code, I'm pretty sure nobody uses this plugin who doesn't have a CPU that supports at least SSE (not even Manolito ).
__________________
Groucho's Avisynth Stuff
Groucho2004 is offline   Reply With Quote
Old 21st February 2017, 22:01   #3  |  Link
real.finder
Registered User
 
Join Date: Jan 2012
Location: Mesopotamia
Posts: 2,587
we all love you pinterf, you are our hero
__________________
See My Avisynth Stuff
real.finder is offline   Reply With Quote
Old 21st February 2017, 22:10   #4  |  Link
pinterf
Registered User
 
Join Date: Jan 2014
Posts: 2,309
Quote:
Originally Posted by Groucho2004 View Post
I checked XP support, works fine (x86/x64). By the way, remove the 3DNow code, I'm pretty sure nobody uses this plugin who doesn't have a CPU that supports at least SSE (not even Manolito ).
I left there four of them. Two had no sse replacement, only c. They'll be kept only until I check them what they are doing and move them to simd intrinsics.
pinterf is offline   Reply With Quote
Old 22nd February 2017, 01:02   #5  |  Link
FranceBB
Broadcast Encoder
 
FranceBB's Avatar
 
Join Date: Nov 2013
Location: Royal Borough of Kensington & Chelsea, UK
Posts: 2,883
Really really appreciated! Big thanks!
FranceBB is offline   Reply With Quote
Old 22nd February 2017, 04:07   #6  |  Link
tuanden0
Registered User
 
Join Date: Oct 2016
Posts: 111
Can't wait to test, thank you pinterf.
tuanden0 is offline   Reply With Quote
Old 22nd February 2017, 17:31   #7  |  Link
pinterf
Registered User
 
Join Date: Jan 2014
Posts: 2,309
Quote:
Originally Posted by pinterf View Post
I left there four of them. Two had no sse replacement, only c. They'll be kept only until I check them what they are doing and move them to simd intrinsics.
Converted one of the inline asm function to simd, and yes, worth doing it.
For a simple FFT3DFilter(sigma=3,plane=4)
Code:
v2.3 (x86): 10.4 fps (VS2015, inline asm, speed is same as simd) - for comparison
v2.2 (x64): 9.27 fps (ICL build, C)
v2.3 (x64): 9.15 fps (VS2015, C)
test (x64): 11.94 fps (VS2015, simd intrinsics)
pinterf is offline   Reply With Quote
Old 4th March 2017, 12:20   #8  |  Link
vcmohan
Registered User
 
Join Date: Jul 2003
Location: India
Posts: 890
In short will it be possible to indicate what this filter does? Excepting that it does a 3D FFT I could not infer anything else.
__________________
mohan
my plugins are now hosted here
vcmohan is offline   Reply With Quote
Old 4th March 2017, 12:27   #9  |  Link
Groucho2004
 
Join Date: Mar 2006
Location: Barcelona
Posts: 5,034
Quote:
Originally Posted by vcmohan View Post
In short will it be possible to indicate what this filter does? Excepting that it does a 3D FFT I could not infer anything else.
Documentation is here.
__________________
Groucho's Avisynth Stuff
Groucho2004 is offline   Reply With Quote
Old 8th June 2017, 16:57   #10  |  Link
pinterf
Registered User
 
Join Date: Jan 2014
Posts: 2,309
New build

Download FFT3DFilter 2.4

Some efforts on x64 and Avs+ MT auto-registration changes

Code:
FFT3DFilter v2.4 (20170608)
  - some inline asm (not all) ported to simd intrisics, helps speedup x64 mode, but some of them faster also on x86.
  - intrinsics bt=0 
  - intrinsics bt=2, degrid=0, pfactor=0
  - intrinsics bt=3 sharpen=0/1 dehalo=0/1
  - intrinsics bt=3
  - Adaptive MT settings for Avisynth+: MT_SERIALIZED for bt==0 (temporal), MT_MULTI_INSTANCE for others
  - Copy Alpha plane if exists
  - reentrancy checks against bad multithreading usage
    Note: for properly operating in MT_SERIALIZED mode in Avisynth+ MT, please use Avs+ r2504 or better.

FFT3DFilter v2.3 (20170221)
  - apply current avs+ headers
  - 10-16 bits and 32 bit float colorspace support in AVS+
  - Planar RGB support
  - look for libfftw3f-3.dll first, then fftw3.dll
  - inline asm ignored on x64 builds
  - pre-check: if plane to process for greyscale is U and/or V return original clip
pinterf is offline   Reply With Quote
Old 4th September 2017, 02:29   #11  |  Link
stax76
Registered User
 
stax76's Avatar
 
Join Date: Jun 2002
Location: On thin ice
Posts: 6,837
Could FFT3DFilter filter load the required DLLs if they are not yet loaded and are located in the same folder then FFT3DFilter?

I have the DLLs in the same folder then FFT3DFilter and manually load FFT3DFilter with LoadPlugin, I get the following error:

Quote:
FFT3DFilter: libfftw3f-3.dll or fftw3.dll not found. Please put in PATH or use LoadDll() plugin
For some tools I just detect issues and show a warning with instruction what to do, if possible I prefer to integrate things in a way that just works without the user having to do something.

Last edited by stax76; 4th September 2017 at 03:00.
stax76 is offline   Reply With Quote
Old 4th September 2017, 02:41   #12  |  Link
stax76
Registered User
 
stax76's Avatar
 
Join Date: Jun 2002
Location: On thin ice
Posts: 6,837
I found a plugin called 'LoadDll' which I could use but is there a x64 version?
stax76 is offline   Reply With Quote
Old 4th September 2017, 03:41   #13  |  Link
raffriff42
Retried Guesser
 
raffriff42's Avatar
 
Join Date: Jun 2012
Posts: 1,373
Quote:
Originally Posted by stax76 View Post
Could FFT3DFilter filter load the required DLLs if they are not yet loaded and are located in the same folder then FFT3DFilter?
The DLLs would have to be in the current working directory (which can be set with SetWorkingDir), on the Path, or in an explicit, specified folder.

(don't know about LoadDll, but I suppose it has the same requirement)
raffriff42 is offline   Reply With Quote
Old 4th September 2017, 03:44   #14  |  Link
stax76
Registered User
 
stax76's Avatar
 
Join Date: Jun 2002
Location: On thin ice
Posts: 6,837
Quote:
Originally Posted by raffriff42 View Post
The DLLs would have to be in the current working directory (which can be set with SetWorkingDir), on the Path, or in an explicit, specified folder.

(don't know about LoadDll, but I suppose it has the same requirement)
This could only work when staxrip loads the script but not x264, I try to make a installer with inno or just run xcopy.
stax76 is offline   Reply With Quote
Old 4th September 2017, 03:50   #15  |  Link
raffriff42
Retried Guesser
 
raffriff42's Avatar
 
Join Date: Jun 2012
Posts: 1,373
Inno supports copying your DLLS to the System directory, which of course is on the Path. Job done.

Last edited by raffriff42; 4th September 2017 at 03:52. Reason: link
raffriff42 is offline   Reply With Quote
Old 4th September 2017, 03:54   #16  |  Link
stax76
Registered User
 
stax76's Avatar
 
Join Date: Jun 2002
Location: On thin ice
Posts: 6,837
Quote:
Originally Posted by raffriff42 View Post
Inno supports copying your DLLS to the System directory, which of course is on the Path. Job done.
Problem is I'm clueless about inno (just gave up) and I'm apparently not the only one here.

Using xcopy now!

Last edited by stax76; 4th September 2017 at 03:56.
stax76 is offline   Reply With Quote
Old 4th September 2017, 04:18   #17  |  Link
raffriff42
Retried Guesser
 
raffriff42's Avatar
 
Join Date: Jun 2012
Posts: 1,373
Try the starter pack and take the optional Inno Studio.

EDIT here's a screenshot - a file to be copied to the 32-bit System directory (click to enlarge)


Last edited by raffriff42; 4th September 2017 at 04:43. Reason: corrected screenshot, show thumbnail
raffriff42 is offline   Reply With Quote
Old 4th September 2017, 04:29   #18  |  Link
stax76
Registered User
 
stax76's Avatar
 
Join Date: Jun 2002
Location: On thin ice
Posts: 6,837
Does that use 'Inno Setup Compiler', I have v5.5.6 installed to use for my custom avs setup, doesn't support High DPI.
stax76 is offline   Reply With Quote
Old 4th September 2017, 05:06   #19  |  Link
stax76
Registered User
 
stax76's Avatar
 
Join Date: Jun 2002
Location: On thin ice
Posts: 6,837
I have it working, thanks for the screenshot, that has helped. One thing I don't like is the installer is 0.5 MB larger compared to packed with 7zip, this would probably increase my package with 0.5 MB, it's already about 100 MB and I'm very concerned about file size because of the the hoster and users with low bandwidth.
stax76 is offline   Reply With Quote
Old 4th September 2017, 07:33   #20  |  Link
Groucho2004
 
Join Date: Mar 2006
Location: Barcelona
Posts: 5,034
Quote:
Originally Posted by stax76 View Post
I found a plugin called 'LoadDll' which I could use but is there a x64 version?
I just made a 64 bit version but I can't test it right now. See if it works:
LoadDLL64
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 14:23.


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