#ifndef AGR_Sate_DEFINES_H
#define AGR_Sate_DEFINES_H

#ifdef __cplusplus
extern "C"
{
#endif

#define BWE_FRAMEINMS 20
#define SATE_FRAMEINMS 20
#define HB_LPC_FRAMEINMS 10
#define FIXED_POINT 1
#define LB_SUB_FRAME_NUM 4
#define HB2LB_NUM 2
#define HB_SUB_FRAME_NUM LB_SUB_FRAME_NUM
#define  LB_SUB_FRAME_NUM 4
#define  HB_LPCFR         4
#define  HB_SUBFR         4
#ifndef NULL
#define NULL 0
#endif
    
#define MAX_GAIN_NUM 32
#define MAX_PAYLOAD_SIZE 1024
#define SILK_HIGHBAND_REGEN
#define HB_LPC_ORDER                        8
#define HB_LSP_CB1                          256
#define HB_LSP_CB2                          16
#define HB_GAIN_CB		                    32
#define MAX_INTERNAL_FRAME_SIZE             1920
#define MAX_INTERNAL_HALF_FRAME_SIZE        960
#define MAX_SUBFR_SIZE                      320
#define FOLDING_GAIN	                    0.7
#define FOLDING_GAIN_FIX                    2867//q12
#define MAX_LPC_ORDER                       16
#define NB_SUBFR                            4
#define QMF_ORDER                           64
#define QMF_ORDER1                          64
#define HB_BYTE                             4
#define MAX_INPUT_FRAMES                    5
#define MAX_BYTES_PER_FRAME                 1024

enum {
	AGR_SATE_ENCODE_SET_SAMPLERATE = 1,
	AGR_SATE_ENCODE_SET_INTERNAL_SAMPLERATE,
	AGR_SATE_ENCODE_SET_PACKETSIZE,
	AGR_SATE_ENCODE_SET_PACKLOSSRATE,
	AGR_SATE_ENCODE_SET_FEC,
	AGR_SATE_ENCODE_SET_DTX,
	AGR_SATE_ENCODE_SET_COMPLEXITY,
	AGR_SATE_ENCODE_SET_BITRATE,
	AGR_SATE_ENCODE_SET_SCALABLE_ENABLE,
	AGR_SATE_ENCODE_SET_LAMDA_ENABLE,
	AGR_SATE_ENCODE_SET_SCALABLE_MODE,
	AGR_SATE_ENCODE_SET_HB_FIRST_FRAME,
	AGR_SATE_ENCODE_SET_HB_LPCORDER,
	AGR_SATE_ENCODE_SET_HB_FULLFRAMESIZE,
	AGR_SATE_ENCODE_SET_LB_FRAMESIZE,
	AGR_SATE_ENCODE_SET_HB_FRAMESIZE,
	AGR_SATE_ENCODE_SET_HB_SUBFRAMESIZE,
	AGR_SATE_ENCODE_SET_HB_LPCFRAMESIZE,
	AGR_SATE_ENCODE_SET_HB_FREQ,
	AGR_SATE_ENCODE_SET_BITSTREAM_FORMAT
};

enum {
	AGR_SATE_DECODE_SET_SAMPLERATE = 1,
	AGR_SATE_DECODE_SET_SCALABLE_ENABLE,
	AGR_SATE_DECODE_SET_FRAMEPERPACKET,
	AGR_SATE_DECODE_SET_HB_FIRST_FRAME,
	AGR_SATE_DECODE_SET_HB_LPCORDER,
	AGR_SATE_DECODE_SET_HB_FULLFRAMESIZE,
	AGR_SATE_DECODE_SET_HB_FRAMESIZE,
	AGR_SATE_DECODE_SET_LB_FRAMESIZE,
	AGR_SATE_DECODE_SET_HB_SUBFRAMESIZE
};

#ifdef __cpluscplus
}
#endif

#endif
