diff options
Diffstat (limited to 'system/embdrv/lc3_dec/Decoder/DecoderTop.hpp')
-rw-r--r-- | system/embdrv/lc3_dec/Decoder/DecoderTop.hpp | 85 |
1 files changed, 0 insertions, 85 deletions
diff --git a/system/embdrv/lc3_dec/Decoder/DecoderTop.hpp b/system/embdrv/lc3_dec/Decoder/DecoderTop.hpp deleted file mode 100644 index 268a574621..0000000000 --- a/system/embdrv/lc3_dec/Decoder/DecoderTop.hpp +++ /dev/null @@ -1,85 +0,0 @@ -/* - * DecoderTop.hpp - * - * Copyright 2021 HIMSA II K/S - www.himsa.com. Represented by EHIMA - - * www.ehima.com - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef __DECODER_TOP_HPP_ -#define __DECODER_TOP_HPP_ - -#include <cstdint> - -#include "Datapoints.hpp" -#include "DecoderFrame.hpp" -#include "Lc3Config.hpp" -#include "MdctDec.hpp" -#include "PacketLossConcealment.hpp" -#include "ResidualSpectrum.hpp" -#include "SpectralNoiseShaping.hpp" - -namespace Lc3Dec { - -class DecoderTop { - public: - DecoderTop(uint16_t fs_, DatapointContainer* datapoints_ = nullptr); - DecoderTop(Lc3Config lc3Config_, DatapointContainer* datapoints_ = nullptr); - virtual ~DecoderTop(); - - template <typename T> - void run(const uint8_t* bytes, uint16_t nbytes, uint8_t BFI, - uint8_t bits_per_audio_sample_dec, T* x_out, uint8_t& BEC_detect) { - if ((nullptr == decoderCurrentFrame) || - (decoderCurrentFrame->nbytes != nbytes)) { - // We need to instantiate a new DecoderFrame only - // when byte_count has been changed. Thus, frequent - // dynamic memory allocation can be constrained to - // rate optimized operation. - if (nullptr != decoderPreviousFrame) { - delete decoderPreviousFrame; - } - decoderPreviousFrame = decoderCurrentFrame; - decoderCurrentFrame = - new DecoderFrame(residualSpectrum, spectralNoiseShaping, - packetLossConcealment, mdctDec, lc3Config, nbytes); - decoderCurrentFrame->linkPreviousFrame(decoderPreviousFrame); - if (nullptr != datapoints) { - // Another way to make to call optional would be to split run() into - // init(), registerDatapoints() & remaining run() -> we preferred the - // simpler - // API and thus designed this registration being dependent on the - // availability of datapoints. - decoderCurrentFrame->registerDatapoints(datapoints); - } - } - decoderCurrentFrame->run<T>(bytes, BFI, bits_per_audio_sample_dec, x_out, - BEC_detect); - } - - const Lc3Config lc3Config; - - private: - DatapointContainer* datapoints; - DecoderFrame* decoderCurrentFrame; - DecoderFrame* decoderPreviousFrame; - ResidualSpectrum residualSpectrum; - SpectralNoiseShaping spectralNoiseShaping; - PacketLossConcealment packetLossConcealment; - MdctDec mdctDec; -}; - -} // namespace Lc3Dec - -#endif // __DECODER_TOP_HPP_ |