www.pudn.com > SMV_Code.rar > lib_evad.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. */ /*=========================================================================*/ /* */ /*-------------------------------------------------------------------*/ /*===================================================================*/ /* PROTOYPE FILE: lib_evad.h */ /*-------------------------------------------------------------------*/ /* PURPOSE : Library of Voice Activity Detection based on EVAD VAD. */ /*===================================================================*/ #ifndef _RDA_H_ #define _RDA_H_ #include#define FILTERORDER 17 #define FREQBANDS 2 #define FULLRATE_VOICED 4 #define HALFRATE_VOICED 3 #define EIGHTH 1 #define PITCH_NUM 2 #define INC_FACTOR 1.06 /* changed from 1.03 on 13-Dec-00 to update faster, khaled */ #define SNR_MAP_THRESHOLD 1 /* changed from 3 on 13-Dec-00, khaled */ #define IS96_INC 1.00547 /* changed from 1.0065 on 20-Jan-95 */ /*changed from 1.00547 on 13-Dec-00 to update faster, khaled */ /*changed from 1.02 on 2-Jan-01, khaled */ #define VOICE_INITIAL 65+12 /* for EVRC increasing dynamic range */ #define VOICE_INITIAL_HI 55+12 /* for EVRC increasing dynamic range */ #define STATVOICED 5 #define SCALE_DOWN_ENERGY 0.97 /* changed from 0.96 on 20-Jan-95 */ #define TLEVELS 8 #define SMSNR 0.6 /* leaky integration constant used smooth snr estimate */ /* changed on 8-Dec-94 per Sharath's recommendation */ #define ADP 4 /* changed from 8 on 13-Dec-00 to update faster, khaled */ #define NACF_ADAP_BGN_THR 0.4 /* changed from 0.3 on 13-Dec-00 to update faster, khaled */ /* threshold signifying frame does */ /* not have any voiced speech in it */ /* so we might start to adapt thresholds */ #define NACF_SOLID_VOICED 0.5 /* threshold above which we are pretty sure */ /* speech is present and thus SNRs can be */ /* adjusted accordingly */ #define HIGH_THRESH_LIM 5059644*16 #define FULL_THRESH 1 /* the number of full rates in a row before */ /* a hangover can occur */ typedef struct { FLOAT32 band_noise_sm[FREQBANDS]; INT32 last_rate; /* rate decisision after 2nd stage select_mode2() */ INT32 last_rate_1st_stage; /* rate decision after 1st stage */ INT32 last_rate_2nd_stage; /* rate decision after 2nd stage */ INT32 num_full_frames; INT32 hangover, hangover_in_progress; INT32 band_rate[FREQBANDS]; FLOAT32 band_power[4]; FLOAT32 signal_energy[FREQBANDS]; FLOAT32 frame_energy_sm[FREQBANDS]; INT32 adaptcount; INT32 pitchrun; FLOAT32 band_power_last[FREQBANDS]; INT32 snr_stat_once; INT32 snr_map[FREQBANDS]; FLOAT32 snr[FREQBANDS]; FLOAT32 r_filt[FREQBANDS][FILTERORDER]; INT32 frame_num; } ENCODER_MEM; INT16 EVAD_voice_detection ( INT16 smv_mode, FLOAT64* R_interp, INT16 max_rate, INT16 min_rate, FLOAT64 beta, ENCODER_MEM *e_mem ); #endif