diff options
author | Daniil Cherednik <dan.cherednik@gmail.com> | 2016-06-19 02:58:23 +0300 |
---|---|---|
committer | Daniil Cherednik <dan.cherednik@gmail.com> | 2016-06-19 03:31:55 +0300 |
commit | 1151d5831f19a9f24dd0c545a4968606712a62d2 (patch) | |
tree | c978c1b9a3fc86fef531dd412fe6b7668b7c0567 /src/atrac/atrac3_qmf.h | |
parent | 8d65a0bd0774e03b3d10354e15f2f3361a2ce26a (diff) | |
download | atracdenc-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.h | 10 |
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 |