123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161 |
- /*
- *****************************************************************************
- *
- * GSM AMR-NB speech codec R98 Version 7.6.0 December 12, 2001
- * R99 Version 3.3.0
- * REL-4 Version 4.1.0
- *
- *****************************************************************************
- *
- * File : dec_amr.h
- * Purpose : Speech decoder routine.
- *
- *****************************************************************************
- */
- #ifndef dec_amr_h
- #define dec_amr_h "$Id $"
-
- /*
- *****************************************************************************
- * INCLUDE FILES
- *****************************************************************************
- */
- #include "typedef.h"
- #include "cnst.h"
- #include "mode.h"
- #include "dtx_dec.h"
- #include "d_plsf.h"
- #include "gc_pred.h"
- #include "ec_gains.h"
- #include "ph_disp.h"
- #include "c_g_aver.h"
- #include "bgnscd.h"
- #include "lsp_avg.h"
- #include "frame.h"
- /*
- *****************************************************************************
- * LOCAL VARIABLES AND TABLES
- *****************************************************************************
- */
- /*---------------------------------------------------------------*
- * Postfilter constant parameters (defined in "cnst.h") *
- *---------------------------------------------------------------*
- * L_FRAME : Frame size. *
- * PIT_MAX : Maximum pitch lag. *
- * L_INTERPOL : Length of filter for interpolation. *
- * M : LPC order. *
- *---------------------------------------------------------------*/
- /*
- *****************************************************************************
- * DEFINITION OF DATA TYPES
- *****************************************************************************
- */
- typedef struct{
- /* Excitation vector */
- Word16 old_exc[L_SUBFR + PIT_MAX + L_INTERPOL];
- Word16 *exc;
-
- /* Lsp (Line spectral pairs) */
- /* Word16 lsp[M]; */ /* Used by CN codec */
- Word16 lsp_old[M];
-
- /* Filter's memory */
- Word16 mem_syn[M];
- /* pitch sharpening */
- Word16 sharp;
- Word16 old_T0;
- /* Memories for bad frame handling */
- Word16 prev_bf;
- Word16 prev_pdf;
- Word16 state;
- Word16 excEnergyHist[9];
- /* Variable holding received ltpLag, used in background noise and BFI */
- Word16 T0_lagBuff;
- /* Variables for the source characteristic detector (SCD) */
- Word16 inBackgroundNoise;
- Word16 voicedHangover;
- Word16 ltpGainHistory[9];
- Bgn_scdState* background_state;
- Word16 nodataSeed;
-
- Cb_gain_averageState *Cb_gain_averState;
- lsp_avgState *lsp_avg_st;
-
- D_plsfState* lsfState;
- ec_gain_pitchState* ec_gain_p_st;
- ec_gain_codeState* ec_gain_c_st;
- gc_predState* pred_state;
- ph_dispState* ph_disp_st;
- dtx_decState* dtxDecoderState;
- } Decoder_amrState;
-
- /*
- *****************************************************************************
- * DECLARATION OF PROTOTYPES
- *****************************************************************************
- */
- /*
- **************************************************************************
- *
- * Function : Decoder_amr_init
- * Purpose : Allocates initializes state memory
- * Description : Stores pointer to filter status struct in *st. This
- * pointer has to be passed to Decoder_amr in each call.
- * Returns : 0 on success
- *
- **************************************************************************
- */
- int Decoder_amr_init (Decoder_amrState **st);
-
- /*
- **************************************************************************
- *
- * Function : Decoder_amr_reset
- * Purpose : Resets state memory
- * Returns : 0 on success
- *
- **************************************************************************
- */
- int Decoder_amr_reset (Decoder_amrState *st,enum Mode mode);
-
- /*
- **************************************************************************
- *
- * Function : Decoder_amr_exit
- * Purpose : The memory used for state memory is freed
- * Description : Stores NULL in *s
- * Returns : void
- *
- **************************************************************************
- */
- void Decoder_amr_exit (Decoder_amrState **st);
-
- /*
- **************************************************************************
- *
- * Function : Decoder_amr
- * Purpose : Speech decoder routine.
- * Returns : 0
- *
- **************************************************************************
- */
- int Decoder_amr (
- Decoder_amrState *st, /* i/o : State variables */
- enum Mode mode, /* i : AMR mode */
- Word16 parm[], /* i : vector of synthesis parameters
- (PRM_SIZE) */
- enum RXFrameType frame_type, /* i : received frame type */
- Word16 synth[], /* o : synthesis speech (L_FRAME) */
- Word16 A_t[] /* o : decoded LP filter in 4 subframes
- (AZ_SIZE) */
- );
-
- #endif
|