
#ifndef BANDS_H
#define BANDS_H

#include "ssc_modes.h"
#include "entcode.h"


#ifndef VC_PROJ
#include <xtensa/tie/xt_hifi2.h>
#include <xtensa/tie/xt_misc.h>
#endif


void normalise_bands(const SpeechMode *m, const int *freq, short *X, const int *bandE, short end);
void compute_band_energies(const SpeechMode *m, const int *X, int *bandE, short end);

#ifndef HW_EXPROTATION_LAST
void quant_all_bands(const SpeechMode *m, short end, short * X, short *pulses,
	short total_bits, short balance, ec_ctx *ec, short codedBands, unsigned int *seed);
#else
#ifndef HW_CODESIZE
void quant_all_bands(const SpeechMode *m, short end,
	short * X, short *pulses,
	short total_bits, short balance, ec_ctx *ec, short codedBands, unsigned int *seed,short *exp_flag);
#else
void quant_all_bands(const SpeechMode *m, short end,
	short * X, short *pulses,
	short total_bits, short balance, ec_ctx *ec, short codedBands,short *exp_flag);
#endif
#endif


void denormalise_bands(const SpeechMode *m, const short *X, int *freq, const short *bandE, short end);


void quant_all_bands_dec(const SpeechMode *m, short end, short *X, short *Y,      
	short *pulses,short total_bits, short balance, ec_ctx *ec, short codedBands, unsigned int *seed,short *oldBandE);

#endif /* BANDS_H */


