diff options
author | Daniil Cherednik <dan.cherednik@gmail.com> | 2018-07-28 01:29:02 +0300 |
---|---|---|
committer | Daniil Cherednik <dan.cherednik@gmail.com> | 2018-07-28 01:29:02 +0300 |
commit | d8014b6a75086decf99526d1538a172b527536e5 (patch) | |
tree | 14d50ffc2c8025e4c882ad1a897ce58e3cee8cc6 | |
parent | a883931b0d2e40dbfb0a4534694bc98742c09296 (diff) | |
download | atracdenc-d8014b6a75086decf99526d1538a172b527536e5.tar.gz |
Remove extra copy/allocation
-rw-r--r-- | src/atrac/atrac3_bitstream.cpp | 2 | ||||
-rw-r--r-- | src/atrac/atrac_scale.cpp | 1 |
2 files changed, 2 insertions, 1 deletions
diff --git a/src/atrac/atrac3_bitstream.cpp b/src/atrac/atrac3_bitstream.cpp index c976ac2..8a391db 100644 --- a/src/atrac/atrac3_bitstream.cpp +++ b/src/atrac/atrac3_bitstream.cpp @@ -103,7 +103,7 @@ std::pair<uint8_t, uint32_t> TAtrac3BitStreamWriter::CalcSpecsBitsConsumption(co const uint32_t numBlocks = precisionPerEachBlocks.size(); uint32_t bitsUsed = numBlocks * 3; - auto lambda = [=](bool clcMode, bool calcMant) { + auto lambda = [this, numBlocks, mantisas, &precisionPerEachBlocks, &scaledBlocks](bool clcMode, bool calcMant) { uint32_t bits = 0; for (uint32_t i = 0; i < numBlocks; ++i) { if (precisionPerEachBlocks[i] == 0) diff --git a/src/atrac/atrac_scale.cpp b/src/atrac/atrac_scale.cpp index e41c2a0..a8a6fda 100644 --- a/src/atrac/atrac_scale.cpp +++ b/src/atrac/atrac_scale.cpp @@ -66,6 +66,7 @@ TScaledBlock TScaler<TBaseData>::Scale(const TFloat* in, uint16_t len) { template<class TBaseData> vector<TScaledBlock> TScaler<TBaseData>::ScaleFrame(const vector<TFloat>& specs, const TBlockSize& blockSize) { vector<TScaledBlock> scaledBlocks; + scaledBlocks.reserve(TBaseData::MaxBfus); for (uint8_t bandNum = 0; bandNum < this->NumQMF; ++bandNum) { const bool shortWinMode = !!blockSize.LogCount[bandNum]; for (uint8_t blockNum = this->BlocksPerBand[bandNum]; blockNum < this->BlocksPerBand[bandNum + 1]; ++blockNum) { |