Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: Best FFT library? (Read 14291 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Best FFT library?

Hi,

Since FB2K seems to lack a FFT library for general use (apart from the visualization API) I figured I'd ask here.
I am wondering on people's recommendations for FFT calculation, to be more precise 1 dimensional DFTs.

I am somewhat limited by license since GPL stuff is forbidden under foobar2000. And I already got hounded personally before, for not sticking to the GPL, so I don't wanna make the same mistakes twice, since some certain projects are VERY vocal about their GPL and licensing rights.

Any suggestions as to what library has good ease of use, and above all, processing speed would be great. Libraries which can be used natively in C++ would be preferred, but plain C ones could do.
Thanks.

Best FFT library?

Reply #1
Do you need non-power of 2 sizes?  The ffmpeg FFT is fairly efficient, not too complicated and LGPL, but I think is restricted to powers of 2.  Sucks that you can't use fftw . . .

Best FFT library?

Reply #2
Nope, dont need non power of twos.  Plain POT FFT sizes are fine.
I will take a look at FFMPEG.

Best FFT library?

Reply #3
Intel IPP (needs a license, but can be compatible with fb2k) or AMD CML (is free I think?)

djbfft: http://cr.yp.to

FXT: http://www.jjj.de/fxt/ Edit: is GPL

Ooura 2,4 and split-radix: http://www.kurims.kyoto-u.ac.jp/~ooura/fft.html

KISSFFT: http://sourceforge.net/projects/kissfft/

Of these, Ooura is very fast and still simple, so if you don't know what to pick, that is my bet.

Best FFT library?

Reply #4
Nice!

Thanks a lot Garf!
Will def. take a look at Ooura. KISSFFT looks quite nice, I like how simple it is to implement.
Will take a look at the others as well.

Thanks again! Really appreciate it!

Best FFT library?

Reply #5
Nice!

Thanks a lot Garf!
Will def. take a look at Ooura. KISSFFT looks quite nice, I like how simple it is to implement.
Will take a look at the others as well.

Thanks again! Really appreciate it!


I have tended to use this one over the years:

http://www.fftw.org/



Best FFT library?

Reply #7
Yes, I made it crystal clear that any GPL related software is avoided.
Unless its under LGPL.

Best FFT library?

Reply #8
The ffmpeg FFT is fairly efficient, not too complicated and LGPL, but I think is restricted to powers of 2.

And FFT length is limited by 216.

AMD CML (is free I think?)

I don' t understand this legal jargon:
Quote
You may:
a) use the Software; and
b) make a reasonable number of copies necessary for the purposes of this License. You must reproduce on such copy AMD's copyright notice and any other proprietary legends that were on the original copy of the Software.

You may not:
a) decompile, reverse engineer, disassemble or otherwise reduce the Software to a human-perceivable form;
b) modify, network, rent, lend, loan, distribute or create derivative works based upon the Software in whole or in part; or
c) transfer or sublicense the Software to another end user or otherwise transfer the Software except as permitted by this License.

Best FFT library?

Reply #9
Quote
I don' t understand this legal jargon:


yeah, the derivative works clause is interesting. In that case, has AMD lawyers thought of people using the library at all?


Best FFT library?

Reply #10
yeah, the derivative works clause is interesting. In that case, has AMD lawyers thought of people using the library at all?


Good catch. I filed a bug on this. Wonder if they care.

Best FFT library?

Reply #11
yeah, the derivative works clause is interesting. In that case, has AMD lawyers thought of people using the library at all?


Good catch. I filed a bug on this. Wonder if they care.


They pointed to this license, which should avoid the gaffe you found, but contains even more legalese:

http://developer.amd.com/cpu/Libraries/acm...es/default.aspx

Best FFT library?

Reply #12
Yep...
Quote
5.  Restrictions.  Restrictions regarding Your use of the Materials are as follows.  You may not: 
a)  distribute, publish or sublicense the Documentation, the Sample Source, the Libraries (except when built
into the Distributed Software), the Tools or any Source Code in the Materials to any one;
b)  reproduce copies of the Materials other than what is reasonably required for the Licensed Purpose;
c)  decompile, reverse engineer, disassemble or otherwise reduce the Object Code contained in the
Materials to a human-perceivable form; 
d)  alter any copyright, trademark or patent notice(s) in the Materials;
e)  use AMD’s trademarks in Your software or product names or in a way that suggests the Distributed
Software comes from AMD or is endorsed by AMD;
f)  use AMD’s trademarks in Your software or product names or in a way that that suggests that any of the
Materials are endorsed by AMD;
g)  include contents in malicious, deceptive or unlawful programs; 
h)  modify and/or distribute  any of the Materials so that any part of thereof becomes subject to a Free
Software License; or
i)  rent, lease or lend the Materials or transfer the Materials to any third party except as expressly provided
herein.


Much more sane