aboutsummaryrefslogtreecommitdiff
path: root/common/rdft.cpp
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/rdft.cpp
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/rdft.cpp')
-rw-r--r--common/rdft.cpp8
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() {