aboutsummaryrefslogtreecommitdiff
path: root/common
diff options
context:
space:
mode:
authorDavid Fioramonti2018-08-25 04:16:13 -0700
committerEugene Sandulenko2018-08-25 23:50:07 +0200
commitcf99bb0a5e4ff796dbede334e66cad4a0682baf4 (patch)
tree05f02fba3ff675ad84bd81c66a01bfa4ca5bc37e /common
parentb00395b0b976b869cb83c1181481f1ad7ba16b1e (diff)
downloadscummvm-rg350-cf99bb0a5e4ff796dbede334e66cad4a0682baf4.tar.gz
scummvm-rg350-cf99bb0a5e4ff796dbede334e66cad4a0682baf4.tar.bz2
scummvm-rg350-cf99bb0a5e4ff796dbede334e66cad4a0682baf4.zip
COMMON: Update RDFT and DCT cos/sin table constructor usage
When the constructor for the cos/sin table was changed from number of bits to number of points all usages thoughout the code should of been changed, but this was missed in RDFT and DCT. Fixes Trac#10683.
Diffstat (limited to 'common')
-rw-r--r--common/dct.cpp2
-rw-r--r--common/rdft.cpp2
2 files changed, 2 insertions, 2 deletions
diff --git a/common/dct.cpp b/common/dct.cpp
index 9d551b95ba..374eee03fc 100644
--- a/common/dct.cpp
+++ b/common/dct.cpp
@@ -30,7 +30,7 @@
namespace Common {
-DCT::DCT(int bits, TransformType trans) : _bits(bits), _cos(_bits + 2), _trans(trans), _rdft(nullptr) {
+DCT::DCT(int bits, TransformType trans) : _bits(bits), _cos(1 << (_bits + 2) ), _trans(trans), _rdft(nullptr) {
int n = 1 << _bits;
_tCos = _cos.getTable();
diff --git a/common/rdft.cpp b/common/rdft.cpp
index b6af6cb4cd..f09f983731 100644
--- a/common/rdft.cpp
+++ b/common/rdft.cpp
@@ -28,7 +28,7 @@
namespace Common {
-RDFT::RDFT(int bits, TransformType trans) : _bits(bits), _sin(bits), _cos(bits), _fft(nullptr) {
+RDFT::RDFT(int bits, TransformType trans) : _bits(bits), _sin(1 << bits), _cos(1 << bits), _fft(nullptr) {
assert((_bits >= 4) && (_bits <= 16));
_inverse = trans == IDFT_C2R || trans == DFT_C2R;