/*
 * ===================================================================
 *  TS 26.104
 *  REL-5 V5.4.0 2004-03
 *  REL-6 V6.1.0 2004-03
 *  3GPP AMR Floating-point Speech Codec
 * ===================================================================
 *
 */

/*
 * sp_enc.h
 *
 *
 * Project:
 *    AMR Floating-Point Codec
 *
 * Contains:
 *    Defines interface to AMR encoder
 *
 */
#ifndef _SP_ENC_H
#define _SP_ENC_H

#define	MR475	0	//added by croquet
#define	MR515	1	//added by croquet
#define	MR59	2	//added by croquet
#define	MR67	3	//added by croquet
#define	MR74	4	//added by croquet
#define	MR795	5	//added by croquet
#define	MR102	6	//added by croquet
#define	MR122	7	//added by croquet
#define	MRDTX	8	//added by croquet


/*
 * include files
 */
#include "typedef.h"

/*
 * definition of modes for encoder
 */
/*enum Mode { MR475= 0,
            MR515,
            MR59,
            MR67,
            MR74,
            MR795,
            MR102,
            MR122,
            MRDTX
};*/

/*
 * Function prototypes
 */

/*
 * initialize one instance of the speech encoder
 * Stores pointer to filter status struct in *st. This pointer has to
 * be passed to Speech_Encode_Frame in each call.
 * returns 0 on success
 */
void *Speech_Encode_Frame_init (int dtx);
/*
 * reset speech encoder (i.e. set state memory to zero)
 * returns 0 on success
 */
int Speech_Encode_Frame_reset(void *st, int dtx);

/*
 * de-initialize speech encoder (i.e. free status struct)
 * stores NULL in *st
 */
void Speech_Encode_Frame_exit (void **st);

/*
 * Encodes one speech frame
 * Returns analysis parameters
 */
void Speech_Encode_Frame (void *st, int mode, short *newSpeech,
                   short *prm, int *usedMode);

#endif
