aboutsummaryrefslogtreecommitdiff
path: root/common/fft.h
diff options
context:
space:
mode:
authorFilippos Karapetis2012-04-19 01:13:47 -0700
committerFilippos Karapetis2012-04-19 01:13:47 -0700
commita1618c215ba4b731c61df39a0eb31fc8028d34ed (patch)
tree324929ba691765db61d7012b5eb75c87f7eb1d3e /common/fft.h
parent677806a4e97033a3e35559cf2a1da7ba45b0b72c (diff)
parent0f66d2c701958dc70ed57b570a7f59965a90bf66 (diff)
downloadscummvm-rg350-a1618c215ba4b731c61df39a0eb31fc8028d34ed.tar.gz
scummvm-rg350-a1618c215ba4b731c61df39a0eb31fc8028d34ed.tar.bz2
scummvm-rg350-a1618c215ba4b731c61df39a0eb31fc8028d34ed.zip
Merge pull request #226 from digitall/sincos
Replace large static Sin and Cos tables with dynamically generated ones.
Diffstat (limited to 'common/fft.h')
-rw-r--r--common/fft.h12
1 files changed, 9 insertions, 3 deletions
diff --git a/common/fft.h b/common/fft.h
index e77c53c2a7..bc58f1dded 100644
--- a/common/fft.h
+++ b/common/fft.h
@@ -34,6 +34,8 @@
namespace Common {
+class CosineTable;
+
/**
* (Inverse) Fast Fourier Transform.
*
@@ -64,13 +66,17 @@ private:
Complex *_expTab;
Complex *_tmpBuf;
- const float *_tSin;
- const float *_tCos;
-
int _splitRadix;
int _permutation;
static int splitRadixPermutation(int i, int n, int inverse);
+
+ CosineTable *_cosTables[13];
+
+ void fft4(Complex *z);
+ void fft8(Complex *z);
+ void fft16(Complex *z);
+ void fft(int n, int logn, Complex *z);
};
} // End of namespace Common