diff options
author | Filippos Karapetis | 2012-04-19 01:13:47 -0700 |
---|---|---|
committer | Filippos Karapetis | 2012-04-19 01:13:47 -0700 |
commit | a1618c215ba4b731c61df39a0eb31fc8028d34ed (patch) | |
tree | 324929ba691765db61d7012b5eb75c87f7eb1d3e /common/rdft.cpp | |
parent | 677806a4e97033a3e35559cf2a1da7ba45b0b72c (diff) | |
parent | 0f66d2c701958dc70ed57b570a7f59965a90bf66 (diff) | |
download | scummvm-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/rdft.cpp')
-rw-r--r-- | common/rdft.cpp | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/common/rdft.cpp b/common/rdft.cpp index 3f52a89cba..bfd6818fbd 100644 --- a/common/rdft.cpp +++ b/common/rdft.cpp @@ -25,12 +25,10 @@ // Copyright (c) 2009 Alex Converse <alex dot converse at gmail dot com> #include "common/rdft.h" -#include "common/cosinetables.h" -#include "common/sinetables.h" namespace Common { -RDFT::RDFT(int bits, TransformType trans) : _bits(bits), _fft(0) { +RDFT::RDFT(int bits, TransformType trans) : _bits(bits), _sin(bits), _cos(bits), _fft(0) { assert ((_bits >= 4) && (_bits <= 16)); _inverse = trans == IDFT_C2R || trans == DFT_C2R; @@ -40,8 +38,8 @@ RDFT::RDFT(int bits, TransformType trans) : _bits(bits), _fft(0) { int n = 1 << bits; - _tSin = getSineTable(bits) + (trans == DFT_R2C || trans == DFT_C2R) * (n >> 2); - _tCos = getCosineTable(bits); + _tSin = _sin.getTable() + (trans == DFT_R2C || trans == DFT_C2R) * (n >> 2); + _tCos = _cos.getTable(); } RDFT::~RDFT() { |