www.pudn.com > SMV_Code.rar > ext_var.h


/*=========================================================================*/ 
/* Each of the companies; Ericsson, Lucent, Mindspeed, Motorola, Nokia,    */ 
/* Nortel Networks, and Qualcomm (hereinafter referred to individually as  */ 
/* “Source” or collectively as “Sources”) do hereby state:                 */ 
/*                                                                         */ 
/* To the extent to which the Source(s) may legally and freely do so,      */ 
/* the Source(s), upon submission of a Contribution, grant(s) a free,      */ 
/* irrevocable, non-exclusive, license to the Third Generation Partnership */ 
/* Project 2 (3GPP2) and its Organizational Partners: ARIB, CCSA, TIA,     */ 
/* TTA, and TTC, under the Source’s copyright or copyright license rights  */ 
/* in the Contribution, to, in whole or in part, copy, make derivative     */ 
/* works, perform, display and distribute the Contribution and derivative  */ 
/* works thereof consistent with 3GPP2’s and each Organizational Partner’s */ 
/* policies and procedures, with the right to (i) sublicense the foregoing */ 
/* rights consistent with 3GPP2’s and each Organizational Partner’s        */ 
/* policies and procedures and (ii) copyright and sell, if applicable) in  */ 
/* 3GPP2's name or each Organizational Partner’s name any 3GPP2 or         */ 
/* transposed Publication even though this Publication may contain the     */ 
/* Contribution or a derivative work thereof.  The Contribution shall      */ 
/* disclose any known limitations on the Source’s rights to license as     */ 
/* herein provided.                                                        */ 
/*                                                                         */ 
/* When a Contribution is submitted by the Source(s) to assist the         */ 
/* formulating groups of 3GPP2 or any of its Organizational Partners,      */ 
/* it is proposed to the Committee as a basis for discussion and is not    */ 
/* to be construed as a binding proposal on the Source(s).  The Source(s)  */ 
/* specifically reserve(s) the right to amend or modify the material       */ 
/* contained in the Contribution. Nothing contained in the Contribution    */ 
/* shall, except as herein expressly provided, be construed as conferring  */ 
/* by implication, estoppel or otherwise, any license or right under       */ 
/* (i) any existing or later issuing patent, whether or not the use of     */ 
/* information in the document necessarily employs an invention of any     */ 
/* existing or later issued patent, (ii) any copyright, (iii) any          */ 
/* trademark, or (iv) any other intellectual property right.               */ 
/*                                                                         */ 
/* With respect to the Software necessary for the practice of any or all   */ 
/* Normative portions of the Selectable Mode Vocoder (SMV) as it exists on */ 
/* the date of submittal of this form, should the SMV be approved as a     */ 
/* Specification or Report by 3GPP2, or as a transposed Standard by any of */ 
/* the 3GPP2’s Organizational Partners, the Source(s) state(s) that a      */ 
/* worldwide license to reproduce, use and distribute the Software, the    */ 
/* license rights to which are held by the Source(s), will be made         */ 
/* available to applicants under terms and conditions that are reasonable  */ 
/* and non-discriminatory, which may include monetary compensation,        */ 
/* and only to the extent necessary for the practice of any or all of the  */ 
/* Normative portions of the SMV or the field of use of practice of the    */ 
/* SMV Specification, Report, or Standard.  The statement contained above  */ 
/* is irrevocable and shall be binding upon the Source(s).  In the event   */ 
/* the rights of the Source(s) in and to copyright or copyright license    */ 
/* rights subject to such commitment are assigned or transferred,          */ 
/* the Source(s) shall notify the assignee or transferee of the existence  */ 
/* of such commitments.                                                    */ 
/*=========================================================================*/ 
/*                                                                   */ 
/*-------------------------------------------------------------------*/ 
/*===================================================================*/ 
/* FILE: ext_var.h                                                   */ 
/*-------------------------------------------------------------------*/ 
/* PURPOSE : Extern variables definitions for SMVocoder              */ 
/*===================================================================*/ 
 
 
/*============================================================================*/ 
/*================================ FRAME COUNTERS ============================*/ 
/*============================================================================*/ 
 
extern INT64 frm_count; 
 
#ifdef DEC_CMP 
 
extern INT64 frm_erasure; 
 
#endif 
 
/*============================================================================*/ 
/*================================= SMV CONTROL ==============================*/ 
/*============================================================================*/ 
 
#ifdef ENC_CMP 
 
extern INT16 smv_mode; 
extern INT16 fix_rate, fix_rate_mem2; 
 
#endif 
 
extern INT16 fix_rate_enc_mem; 
extern INT16 fix_rate_dec_mem; 
 
#ifdef DEC_CMP 
 
extern INT16 fix_rate_dec_mem2; 
 
#endif 
 
/*============================================================================*/ 
/*=============================== NOISE SUPRESSION ===========================*/ 
/*============================================================================*/ 
 
#ifdef ENC_CMP 
 
extern FLOAT64 MIN_GAIN; 
extern FLOAT64 *curr_ns_snr; 
 
#endif 
 
/*============================================================================*/ 
/*============================ PRE AND POST PROCESSING =======================*/ 
/*============================================================================*/ 
 
extern FLOAT64 pst_flt_num[PPR_FLT_ORDER]; 
extern FLOAT64 pst_flt_den[PPR_FLT_ORDER-1]; 
extern FLOAT64 pre_flt_num[PPR_FLT_ORDER]; 
extern FLOAT64 pre_flt_den[PPR_FLT_ORDER-1]; 
 
#ifdef ENC_CMP 
 
extern INT16   *zeroed; 
extern FLOAT64 *zero_rate; 
extern FLOAT64 *low_rate; 
extern FLOAT64 *high_rate; 
 
extern FLOAT64 *low_neg; 
extern FLOAT64 *low_pos; 
 
 
extern INT32	min_delta; 
extern FLOAT64	zero_level; 
extern FLOAT64	l1_neg, l2_neg, l1_pos, l2_pos; 
 
/*----------------------------------------------------------------------------*/ 
 
extern FLOAT64 *pre_flt_buf; 
 
extern FLOAT64 *lp_flt_num; 
extern FLOAT64 *lp_flt_buf; 
 
#endif 
 
/*----------------------------------------------------------------------------*/ 
 
#ifdef DEC_CMP 
 
extern FLOAT64 *buff_LTpost; 
extern FLOAT64 *PF_mem_syn; 
extern FLOAT64 r_zero, r_pole; 
extern FLOAT64 pst_scale; 
extern FLOAT64 pst_hp_mem; 
 
/*----------------------------------------------------------------------------*/ 
 
extern FLOAT64 *pst_flt_buf; 
 
#endif 
 
/*============================================================================*/ 
/*================================ LPC ANALYSIS ==============================*/ 
/*============================================================================*/ 
 
extern FLOAT64 IntLSF_C[N_SF4]; 
extern FLOAT64 lpc_int_weight [2][2][3]; 
 
#ifdef ENC_CMP 
 
/*----------------------------------------------------------------------------*/ 
/*                              LPC analysis window                           */ 
/*----------------------------------------------------------------------------*/ 
 
extern FLOAT64 lpc_window  [L_LPC]; 
extern FLOAT64 lpc_window1 [L_LPC]; 
extern FLOAT64 lpc_window2 [L_LPC]; 
 
/*----------------------------------------------------------------------------*/ 
/*                          Bandwidth expansion factor                        */ 
/*----------------------------------------------------------------------------*/ 
 
#ifdef VAD_B 
extern FLOAT64 bwe_factor[NP_EVAD+1]; 
#endif 
 
#ifdef VAD_A 
extern FLOAT64 bwe_factor[NP+1]; 
#endif 
 
/*----------------------------------------------------------------------------*/ 
/*                       Bandwidth expansion coefficients                     */ 
/*----------------------------------------------------------------------------*/ 
 
extern FLOAT64 bwe_pdcf [3][NP]; 
 
/*----------------------------------------------------------------------------*/ 
/*                               LPC parameters                               */ 
/*----------------------------------------------------------------------------*/ 
 
extern FLOAT64 pderr; 
extern FLOAT64 *refl_mem; 
extern FLOAT64 *lsf_new, *lsf_old; 
extern FLOAT64 *lsf_mem; 
extern FLOAT64 grid[GRID_POINTS+1]; 
 
/*----------------------------------------------------------------------------*/ 
 
extern FLOAT64 erg, lpcgain; 
extern FLOAT64	*sub_refl; 
 
#endif 
 
#ifdef DEC_CMP 
 
extern FLOAT64	sub_lpcg; 
 
#endif 
 
/*============================================================================*/ 
/*============================== Weighted Speech =============================*/ 
/*============================================================================*/ 
 
#ifdef ENC_CMP 
 
extern FLOAT64 *wspeech_mem, *ws_syn_buf; 
extern FLOAT64 Z1_ws_1, Z1_ws_2; 
extern FLOAT64 *ms_syn_buf, *tmp_ws_m; 
 
#endif 
 
/*============================================================================*/ 
/*=========================== Fixed codebook search ==========================*/ 
/*============================================================================*/ 
 
#ifdef DEC_CMP 
 
extern FLOAT64  **qua_unfcod; 
 
#endif 
 
/*============================================================================*/ 
/*================================= Gain VQ ==================================*/ 
/*============================================================================*/ 
 
extern FLOAT64 energy_pred_coeff[GVQ_VEC_SIZE_3D][GVQ_VEC_SIZE_3D]; 
extern FLOAT64 energy_pred_coeff4d[GVQ_VEC_SIZE_4D][GVQ_VEC_SIZE_4D]; 
 
extern FLOAT64 fec_pdown_ltp[3]; 
extern FLOAT64 fec_cdown_ltp[3]; 
extern FLOAT64 fec_pdown_pp[5]; 
extern FLOAT64 fec_cdown_pp[6]; 
extern FLOAT64 fec_cdown_0_8K[6]; 
 
extern FLOAT64 UVG1CB[UVG1_CBSIZE][2]; 
extern FLOAT64 UVG2CB[2][UVG2_CBSIZE][5]; 
extern FLOAT64 fec_cdown_2_0K[7]; 
 
 
extern FLOAT64 gp3_tab[TAB_SIZE_GVQ_3D*GVQ_VEC_SIZE_3D]; 
extern FLOAT64 gp4_tab[TAB_SIZE_GVQ_4D*GVQ_VEC_SIZE_4D]; 
 
extern FLOAT64 gainVQ_3_256[MSMAX_3_256][GVQ_VEC_SIZE_3D]; 
 
extern FLOAT64 gainSQ_1_32[MSMAX_1_32]; 
extern FLOAT64 gainSQ_1_64[MSMAX_1_64]; 
 
extern FLOAT64 gainVQ_4_128[MSMAX_4_128][GVQ_VEC_SIZE_4D]; 
extern FLOAT64 gainVQ_4_8[MSMAX_4_8][GVQ_VEC_SIZE_4D]; 
extern FLOAT64 gainVQ_2_128[MSMAX_2_128][GVQ_VEC_SIZE_2D]; 
 
#ifdef ENC_CMP 
 
extern INT16   GainNormDeci; 
extern FLOAT64 pgain_past; 
 
extern FLOAT64 *past_energyq_2d_enc; 
extern FLOAT64 *past_energyq_3d_enc; 
extern FLOAT64 *past_energyq_4d_enc; 
 
#endif 
 
extern FLOAT64 *past_energyq_2d; 
extern FLOAT64 *past_energyq_3d; 
extern FLOAT64 *past_energyq_4d; 
 
#ifdef DEC_CMP 
extern FLOAT64 past_fixed_energy; 
 
extern FLOAT64 *past_energyq_2d_dec; 
extern FLOAT64 *past_energyq_3d_dec; 
extern FLOAT64 *past_energyq_4d_dec; 
 
extern FLOAT64 pgain_past_dec; 
extern FLOAT64 **qua_gainQ; 
 
extern FLOAT64 *gp_buf; 
 
 
extern FLOAT64 *Prev_Beta_Pitch; 
 
extern FLOAT64 *pred_energy_d38; 
extern FLOAT64 *pred_energy_d410; 
 
extern FLOAT64 *gain_code_vector; 
 
extern FLOAT64 gp_mean; 
extern FLOAT64 gp_fec; 
 
#endif 
 
/*============================================================================*/ 
/*================================ LSF quantizers ============================*/ 
/*============================================================================*/ 
 
extern FLOAT64 *lsf_cb_20k_40k_85k[MAXLTT_85k]; 
 
extern INT16   stage_cand_08k [3]; 
extern INT16   stage_cand_20k [4]; 
extern INT16   stage_cand_40k [4]; 
extern INT16   stage_cand_85k [4]; 
 
extern INT16   MS_08k [LTT_08k]; 
extern INT16   MS_20k [LTT_20k]; 
extern INT16   MS_40k [LTT_40k]; 
extern INT16   MS_85k [LTT_85k]; 
 
extern FLOAT64 Min_Dist_tab[3]; 
extern FLOAT64 B_08k[LP_08k*LQMA_08k*MAXLNp]; 
extern FLOAT64 B_40k[LP_40k*LQMA_40k*MAXLNp]; 
extern FLOAT64 B_85k[LP_85k*LQMA_85k*MAXLNp]; 
 
 
extern INT16 CBes_08k_CB_Index[MAXLTT_08k]; 
extern INT16 CBes_08k_Pointers[MAXLTT_08k][LMSMAX_08k][2]; 
extern FLOAT64 CBes_08k[MAXLTT_08k][LMSMAX_08k][MAXLNp]; 
 
extern FLOAT64 Mean [NP]; 
extern FLOAT64 Mean_removed_flat_lsf [NP]; 
 
extern FLOAT64 lsf_ini[NP]; 
 
#ifdef ENC_CMP 
 
extern FLOAT64 **qes; 
extern FLOAT64 *lsfq_old; 
 
#endif 
 
#ifdef DEC_CMP 
 
extern FLOAT64 **qes_dec; 
extern FLOAT64 *lsfq_old_dec; 
 
#endif 
 
/*============================================================================*/ 
/*=============================== PITCH OPEN LOOP ============================*/ 
/*============================================================================*/ 
 
extern FLOAT64 PitLagTab8b [LEN_PITCH_TAB_8BIT]; 
extern FLOAT64 PitLagTab7b [LEN_PITCH_TAB_7BIT]; 
extern FLOAT64 PitLagTab5b [LEN_PITCH_TAB_5BIT]; 
extern FLOAT64 SincWindows [LEN_SINC_TAB]; 
 
/*----------------------------------------------------------------------------*/ 
 
#ifdef ENC_CMP 
 
extern INT16   *ol_lag; 
extern FLOAT64 Rp_mem; 
 
extern INT16   *lag_enc; 
extern FLOAT64 *pitch_f_enc_mem; 
extern FLOAT64	pitchf_enc; 
 
#endif 
 
/*----------------------------------------------------------------------------*/ 
 
extern INT16   *lag; 
extern FLOAT64 *pitch_f_mem; 
 
/*----------------------------------------------------------------------------*/ 
 
#ifdef DEC_CMP 
 
extern INT16   *lag_dec; 
extern FLOAT64 *pitch_f_dec_mem; 
extern FLOAT64	pitchf_dec; 
 
#endif 
 
#ifdef ENC_CMP 
 
extern INT16   VUVmm, pitch_m, pitch_mm, Iopt0; 
 
extern INT16   *PITmax0; 
extern INT16   LagCount, VadCount, Av_lag; 
 
extern FLOAT64 Rp_m; 
extern FLOAT64 Rp_m1; 
extern FLOAT64 *Rmax0; 
 
#endif 
 
/*============================================================================*/ 
/*============================ CLOSED PITCH PROCESSING =======================*/ 
/*============================================================================*/ 
 
extern FLOAT64 SincWindows_E [LEN_SINC_TAB_E]; 
 
#ifdef ENC_CMP 
 
extern FLOAT64 *ext; 
extern FLOAT64 *NewTg_mem; 
extern FLOAT64 *lag_f_enc; 
extern INT16	pitch_index; 
 
#endif 
 
extern FLOAT64 *lag_f; 
 
#ifdef DEC_CMP 
extern FLOAT64 *lag_f_dec; 
#endif 
 
/*============================================================================*/ 
/*============================= PITCH PRE-PROCESSING =========================*/ 
/*============================================================================*/ 
 
#ifdef ENC_CMP 
 
extern FLOAT64  Delay_pp, Last_Rp; 
extern INT16	frame_class_pp_m; 
extern FLOAT64	*targ_mem; 
 
#endif 
 
/*============================================================================*/ 
/*============================ PRC LIBRARY PROCESSING ========================*/ 
/*============================================================================*/ 
 
#ifdef ENC_CMP 
 
extern FLOAT64 cl_Eg, ol_Eg; 
extern FLOAT64 m_lpc_gain; 
 
#endif 
 
/*============================================================================*/ 
/*============================ GCB LIBRARY PROCESSING ========================*/ 
/*============================================================================*/ 
 
extern FLOAT64 bv[32][40]; 
 
 
#ifdef ENC_CMP 
 
extern FLOAT64 ref_eng_gcb; 
extern INT16 seed_enc; 
 
#endif 
 
#ifdef DEC_CMP 
 
extern INT16 seed_exc; 
extern INT16 seed_dec; 
 
#endif 
 
/*============================================================================*/ 
/*============================ CLA LIBRARY PROCESSING ========================*/ 
/*============================================================================*/ 
 
#ifdef ENC_CMP 
 
extern FLOAT64 window1[LPC_WIN1]; 
 
extern INT16   frame_class, frame_class_m;  
enum frame_class {SILENCE, NOISE_LIKE, UNVOICED, ONSET, PLOSIVE,  
	      NON_STATIONARY_VOICED, STATIONARY_VOICED}; 
 
extern INT16   VUV, VUVm; 
 
extern INT16   frame_class_pp; 
 
extern FLOAT64 energy, energy_m; 
 
extern INT16 frame_onset; 
extern INT16 frame_pit_tab; 
 
extern INT16 frame_class_mem, onstplsv_mem, *voiced_mem; 
extern INT16 *cond_mem; 
 
extern FLOAT64 *sig_ppr_mem; 
extern FLOAT64 *Lp_buffer; 
 
extern FLOAT64 *buffer_wtilt, *buffer_wmax; 
extern FLOAT64 E_noi, T_noi, M_noi, R_noi; 
extern FLOAT64 AR_avg_wRp, AR_min_wtilt; 
 
#endif 
 
/*----------------------------------------------------------------------------*/ 
 
#ifdef ENC_CMP 
 
extern INT16   FlatSp_Flag_enc; 
extern INT16   SVS_Count_enc, Vad_0_Count_enc; 
extern FLOAT64 Av_value_enc; 
 
#endif 
 
#ifdef DEC_CMP 
 
extern INT16   FlatSp_Flag_dec; 
extern INT16   SVS_Count_dec, Vad_0_Count_dec; 
extern FLOAT64 Av_value_dec; 
 
#endif 
 
/*----------------------------------------------------------------------------*/ 
 
#ifdef ENC_CMP 
 
extern FLOAT64 Rp_m_cla; 
 
/*----------------------------------------------------------------------------*/ 
 
extern INT16 OnSet; 
extern INT16 frame_class_mm; 
 
#endif 
 
/*----------------------------------------------------------------------------*/ 
#ifdef DEC_CMP 
 
extern INT16 SVS_deci_mem; 
 
#endif 
 
/*============================================================================*/ 
/*============================ VAD LIBRARY PROCESSING ========================*/ 
/*============================================================================*/ 
 
#ifdef ENC_CMP 
 
extern INT16   *lag_buf; 
extern FLOAT64 *pgain_buf; 
extern INT16 Vad, *flag_vad_mem; 
 
extern INT16 flag;  
extern INT16 count_sil; 
extern INT16 count_ext; 
extern INT16 count_noise; 
extern INT16 dec3_flg_mem; 
extern INT16 count_onset; 
 
extern FLOAT64 pitch_gain_mean; 
extern FLOAT64 **vad_lsf_mem; 
extern FLOAT64 min_energy; 
extern FLOAT64 mean_energy; 
extern FLOAT64 *prev_cml_lsf_diff; 
extern FLOAT64 *prev_energy; 
extern FLOAT64 snr; 
extern FLOAT64 mean_max; 
extern FLOAT64 mean_s_energy;   
extern FLOAT64 prev_min_energy; 
extern FLOAT64 *min_energy_mem; 
extern FLOAT64 next_min_energy; 
extern FLOAT64 *mean_lsf; 
extern FLOAT64 *norm_mean_lsf; 
extern FLOAT64 cml_lsf_diff_filt; 
extern FLOAT64 onset_trhsd; 
extern INT16 onset_flg_enc; 
#endif 
 
#ifdef DEC_CMP 
extern INT16 onset_flg_dec; 
#endif 
 
/*============================================================================*/ 
/*========================== MUSIC LIBRARY PROCESSING ========================*/ 
/*============================================================================*/ 
 
#ifdef ENC_CMP  
 
extern FLOAT64 *pcorr_buf; 
extern FLOAT64 mlsf0; 
extern FLOAT64 MeanPgain ; 
extern FLOAT64 Mcount_pflag; 
extern FLOAT64 *mrc; 
extern FLOAT64 MeanSE ; 
extern FLOAT64 NMeanPgain ; 
extern FLOAT64  mean_mus_update; 
extern FLOAT64 MLLenergy; 
 
extern INT16 count_consc_nflag; 
extern INT16 count_pflag; 
extern INT16 count_consc_pflag; 
extern INT16 count_consc_rflag; 
extern INT16 mus_update; 
 
#endif 
 
/*============================================================================*/ 
/*============================ SNR LIBRARY PROCESSING ========================*/ 
/*============================================================================*/ 
 
#ifdef ENC_CMP 
 
extern FLOAT64	NoiseGainFactor; 
 
extern INT16    n_nois_ext_enc; 
extern FLOAT64  NoisEng_enc, eng_old_enc, diff_lsf_m_enc, diff_eng_m_enc; 
extern INT16    snr_frm_count, snr_count_vad; 
extern FLOAT64  eng_m_enc; 
 
#endif 
 
#ifdef DEC_CMP 
 
extern INT16    n_nois_ext_dec; 
extern FLOAT64	noise_nrg_dec; 
extern FLOAT64	sig_nrg_dec; 
extern FLOAT64 SNR_dec_mem; 
 
#endif 
 
/*============================================================================*/ 
/*============================ SMO LIBRARY PROCESSING ========================*/ 
/*============================================================================*/ 
 
#ifdef ENC_CMP 
 
extern FLOAT64 beta_frm_array[2][6]; 
extern FLOAT64 beta_sub_array[4]; 
extern FLOAT64 adapt_thrs[3][4]; 
 
extern FLOAT64  *lsf_smooth; 
 
extern INT16	 noise_stationarity, N_noise_spect_stationarity; 
 
extern FLOAT64  *ma_lsf, *dSP_buf; 
 
extern INT16	consec_low, consec_high, consec_vad_0; 
extern INT16	updates_noise, updates_speech, calls, lev_reset; 
extern FLOAT64  ma_max_noise, ma_max_speech; 
extern FLOAT64  *buffer_smo, *buffer_p, ma_cp; 
extern FLOAT64  *buffer_sum_smo, *buffer_max_smo; 
 
extern INT16	N_noise_energy_stationarity, consec; 
 
extern INT16	updates; 
extern FLOAT64  ma_max; 
 
#endif 
 
/*============================================================================*/ 
/*============================ FCS LIBRARY PROCESSING ========================*/ 
/*============================================================================*/ 
 
extern INT16 *p_track_2_5_0  [2]; 
extern INT16 *p_track_2_7_1  [2]; 
extern INT16 *p_track_3_2_80 [3]; 
extern INT16 *p_track_3_2_54 [3]; 
extern INT16 *p_track_5_2_3  [5];  
extern INT16 *p_track_5_4_0  [5]; 
extern INT16 *p_track_5_3_1  [5];   
extern INT16 *p_track_5_3_2  [5]; 
extern INT16 *p_track_8_4_0  [8]; 
 
extern FLOAT64 hh_hf [L_HF]; 
 
#ifdef ENC_CMP  
extern INT16   **dyn_track_enc; 
extern INT16   *MaxIdx_enc; 
extern INT16   **track_enc; 
extern FLOAT64 *wsp_m_enc; 
extern FLOAT64 lpcg_m_enc, alpha_enc; 
extern INT16   SVS_flag_m_enc; 
extern FLOAT64 **PHI; 
#endif 
 
extern INT16   **dyn_track; 
extern INT16   *MaxIdx; 
extern INT16   **track; 
 
#ifdef DEC_CMP  
extern INT16   **dyn_track_dec; 
extern INT16   *MaxIdx_dec; 
extern INT16   **track_dec; 
extern FLOAT64 *wsp_m_dec; 
extern FLOAT64 lpcg_m_dec, alpha_dec; 
extern INT16   SVS_flag_m_dec; 
#endif 
 
/*----------------------------------------------------------------------------*/ 
/*                              13 bits & 15 bits Encoder                     */ 
/*----------------------------------------------------------------------------*/ 
 
#ifdef ENC_CMP 
 
extern FLOAT64 Stab_enc; 
 
#endif 
 
/*----------------------------------------------------------------------------*/ 
/*                              13 bits & 15 bits Decoder                     */ 
/*----------------------------------------------------------------------------*/ 
 
#ifdef DEC_CMP 
 
extern FLOAT64 Stab_dec; 
 
extern INT16 seed_bfi_exc; 
 
#endif 
 
/*============================================================================*/ 
/*========================= FRAME ERASURE CONCEALEMENT =======================*/ 
/*============================================================================*/ 
 
#ifdef DEC_CMP  
 
extern INT16	N_bfi, bfh_oh; 
extern INT16	past_bfi, ppast_bfi; 
extern INT16	bfi_caution, nbfi_count; 
extern FLOAT64	*enrg_buff; 
extern FLOAT64  *ext_dec_fec; 
 
#endif 
 
/*============================================================================*/ 
/*============================== SIGNAL SYNTHESIS ============================*/ 
/*============================================================================*/ 
 
#ifdef ENC_CMP 
 
extern FLOAT64 *synth_mem, *dif_mem, *target_mem; 
 
#endif 
 
#ifdef DEC_CMP  
 
extern FLOAT64 *ext_dec, *synth_mem_dec; 
extern FLOAT64 *sigsyn_dec_mem; 
 
#endif 
 
/*============================================================================*/ 
/*============================== BAD RATE DETECTION ==========================*/ 
/*============================================================================*/ 
 
#ifdef DEC_CMP 
extern INT16 arrayindex, type0count, *type1en; 
extern FLOAT64 maxenergy; 
#endif 
 
/*============================================================================*/ 
/*============================== INDEX =======================================*/ 
/*============================================================================*/ 
 
extern INT16 bitno1[3], bitno0_2k[3]; 
 
#ifdef DATA 
/*============================================================================*/ 
/*================================= DATA(TTY,DTMF) ===========================*/ 
/*============================================================================*/ 
 
extern INT16 dtmf_option; 
extern INT16 dtmf_enc_flag; 
extern INT16 dtmf_digit; 
extern INT16 dtmf_digit_last; 
 
extern INT16 data_mode; 
extern INT16 num_data; 
extern INT16 data_buf[]; 
 
#endif 
 
#ifdef WMOPS 
 
/*============================================================================*/ 
/*============================= WMOPS ESTIMATION =============================*/ 
/*============================================================================*/ 
 
extern BASIC_OP counter; 
extern BASIC_OP op_weight; 
 
extern char	wc_fn [NB_FUNC_MAX][255]; 
extern INT64    wc_frame; 
extern INT64    nbframe; 
extern INT64    glob_wc, wc[NB_FUNC_MAX], fnc_comp [NB_FUNC_MAX]; 
extern INT64	LastWOper; 
extern FLOAT64  total_wmops; 
 
#endif 
 
/*============================================================================*/ 
/*============================= DRAM AND ROM ESTIMATION ======================*/ 
/*============================================================================*/ 
 
#ifdef DRAM_ROM_TEST 
 
extern  INT16  flag_RAM; 
 
extern INT16   ROM_FLOAT64_counter; 
extern INT16   ROM_INT16_counter; 
 
extern INT16   RAM_FLOAT64_counter; 
extern INT16   RAM_INT16_counter; 
 
extern INT16   SP_RAM_FLOAT64_counter; 
extern INT16   SP_RAM_INT16_counter; 
 
extern INT16   SP_RAM_FLOAT64_max; 
extern INT16   SP_RAM_INT16_max; 
 
#endif 
/*============================================================================*/ 
/*------------------------------------ END -----------------------------------*/ 
/*============================================================================*/