
#ifndef QUANT_BANDS
#define QUANT_BANDS

#include "ssc_modes.h"
#include "entcode.h"

void amp2Log2(const SpeechMode *m, short effEnd, int *bandE, short *bandLogE);

#ifndef HW_CODESIZE
//void quant_coarse_energy(const SpeechMode *m, short effEnd, const short *eBands, short *oldEBands, unsigned short budget, short *error, ec_enc *enc,short nbAvailableBytes, short *delayedIntra);

void quant_coarse_energy(const SpeechMode *m, short effEnd, const short *eBands, short *oldEBands, unsigned short budget, short *error, ec_enc *enc, short max_decay);

void quant_fine_energy(const SpeechMode *m, short end, short *oldEBands, short *error, short *fine_quant, ec_enc *enc);
void quant_energy_finalise(const SpeechMode *m, short end, short *oldEBands, short *error, short *fine_quant, short *fine_priority, short bits_left, ec_enc *enc);

#ifndef HW_CODESIZE
void unquant_coarse_energy(const SpeechMode *m, short end, short *oldEBands, short intra, ec_dec *dec/*, int LM*/);
#else
void unquant_coarse_energy(const SpeechMode *m, short end, short *oldEBands, ec_dec *dec/*, int LM*/);
#endif

void unquant_fine_energy(const SpeechMode *m, short end, short *oldEBands, short *fine_quant, ec_dec *dec);
void unquant_energy_finalise(const SpeechMode *m, short end, short *oldEBands, short *fine_quant, short *fine_priority, short bits_left, ec_dec *dec);
#endif
#endif /* QUANT_BANDS */
