aboutsummaryrefslogtreecommitdiffstats
path: root/src/atrac/atrac3_qmf.h
diff options
context:
space:
mode:
authorDaniil Cherednik <dan.cherednik@gmail.com>2016-06-19 02:58:23 +0300
committerDaniil Cherednik <dan.cherednik@gmail.com>2016-06-19 03:31:55 +0300
commit1151d5831f19a9f24dd0c545a4968606712a62d2 (patch)
treec978c1b9a3fc86fef531dd412fe6b7668b7c0567 /src/atrac/atrac3_qmf.h
parent8d65a0bd0774e03b3d10354e15f2f3361a2ce26a (diff)
downloadatracdenc-1151d5831f19a9f24dd0c545a4968606712a62d2.tar.gz
some improvements of ATRAC3 implementation:atrac3
- simple (ATRAC1 like) psychoacoustic added - possibility to encode tonal components - simple tonal component extractor - refactoring
Diffstat (limited to 'src/atrac/atrac3_qmf.h')
-rw-r--r--src/atrac/atrac3_qmf.h10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/atrac/atrac3_qmf.h b/src/atrac/atrac3_qmf.h
index bcd0475..f0ef805 100644
--- a/src/atrac/atrac3_qmf.h
+++ b/src/atrac/atrac3_qmf.h
@@ -2,22 +2,26 @@
#include <vector>
#include "../qmf/qmf.h"
+namespace NAtracDEnc {
+
template<class TIn>
class Atrac3SplitFilterBank {
const static int nInSamples = 1024;
TQmf<TIn, nInSamples> Qmf1;
TQmf<TIn, nInSamples / 2> Qmf2;
TQmf<TIn, nInSamples / 2> Qmf3;
- std::vector<double> Buf1;
- std::vector<double> Buf2;
+ std::vector<TFloat> Buf1;
+ std::vector<TFloat> Buf2;
public:
Atrac3SplitFilterBank() {
Buf1.resize(nInSamples);
Buf2.resize(nInSamples);
}
- void Split(TIn* pcm, double* subs[4]) {
+ void Split(TIn* pcm, TFloat* subs[4]) {
Qmf1.Split(pcm, Buf1.data(), Buf2.data());
Qmf2.Split(Buf1.data(), subs[0], subs[1]);
Qmf3.Split(Buf2.data(), subs[3], subs[2]);
}
};
+
+} //namespace NAtracDEnc