diff options
author | Daniil Cherednik <dan.cherednik@gmail.com> | 2021-08-28 22:16:39 +0300 |
---|---|---|
committer | Daniil Cherednik <dan.cherednik@gmail.com> | 2021-08-28 22:16:39 +0300 |
commit | feb23a6ccb5c756b6497c24c4849cdda07cb35f1 (patch) | |
tree | 39c3cd3a368bb3158a6af9f5d195690a7758333f /src/atrac1denc.h | |
parent | 62ced878b526d49e5ef6ad42ca2eb7efc874867a (diff) | |
download | atracdenc-feb23a6ccb5c756b6497c24c4849cdda07cb35f1.tar.gz |
[refactoring] Split CompressedIO interface for Read and Write part
Diffstat (limited to 'src/atrac1denc.h')
-rw-r--r-- | src/atrac1denc.h | 29 |
1 files changed, 22 insertions, 7 deletions
diff --git a/src/atrac1denc.h b/src/atrac1denc.h index 8468c74..802978d 100644 --- a/src/atrac1denc.h +++ b/src/atrac1denc.h @@ -56,8 +56,8 @@ public: {} }; -class TAtrac1Processor : public IProcessor<TFloat>, public TAtrac1MDCT, public virtual NAtrac1::TAtrac1Data { - TCompressedIOPtr Aea; +class TAtrac1Encoder : public IProcessor<TFloat>, public TAtrac1MDCT, public virtual NAtrac1::TAtrac1Data { + TCompressedOutputPtr Aea; const NAtrac1::TAtrac1EncodeSettings Settings; TFloat PcmBufLow[2][256 + 16]; @@ -67,7 +67,6 @@ class TAtrac1Processor : public IProcessor<TFloat>, public TAtrac1MDCT, public v int32_t PcmValueMax = 1; int32_t PcmValueMin = -1; - Atrac1SynthesisFilterBank<TFloat> SynthesisFilterBank[2]; Atrac1SplitFilterBank<TFloat> SplitFilterBank[2]; class TTransientDetectors { @@ -97,14 +96,30 @@ class TAtrac1Processor : public IProcessor<TFloat>, public TAtrac1MDCT, public v } } }; - TAtrac1Processor::TTransientDetectors TransientDetectors; + TAtrac1Encoder::TTransientDetectors TransientDetectors; TScaler<TAtrac1Data> Scaler; public: - TAtrac1Processor(TCompressedIOPtr&& aea, NAtrac1::TAtrac1EncodeSettings&& settings); - TPCMEngine<TFloat>::TProcessLambda GetDecodeLambda() override; + TAtrac1Encoder(TCompressedOutputPtr&& aea, NAtrac1::TAtrac1EncodeSettings&& settings); + TPCMEngine<TFloat>::TProcessLambda GetLambda() override; +}; + +class TAtrac1Decoder : public IProcessor<TFloat>, public TAtrac1MDCT, public virtual NAtrac1::TAtrac1Data { + TCompressedInputPtr Aea; + const NAtrac1::TAtrac1EncodeSettings Settings; + + TFloat PcmBufLow[2][256 + 16]; + TFloat PcmBufMid[2][256 + 16]; + TFloat PcmBufHi[2][512 + 16]; + + int32_t PcmValueMax = 1; + int32_t PcmValueMin = -1; - TPCMEngine<TFloat>::TProcessLambda GetEncodeLambda() override; + Atrac1SynthesisFilterBank<TFloat> SynthesisFilterBank[2]; +public: + TAtrac1Decoder(TCompressedInputPtr&& aea); + TPCMEngine<TFloat>::TProcessLambda GetLambda() override; }; + } |