FreeCalypso > hg > gsm-codec-lib
diff libtwamr/bgnscd.h @ 308:8dfb7cbe6b59
libtwamr: integrated up to bgnscd.c
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Tue, 16 Apr 2024 17:57:21 +0000 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/libtwamr/bgnscd.h Tue Apr 16 17:57:21 2024 +0000 @@ -0,0 +1,85 @@ +/* +******************************************************************************** +* +* 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 : bgnscd.h +* Purpose : Background noise source charateristic detector (SCD) +* +******************************************************************************** +*/ +#ifndef bgnscd_h +#define bgnscd_h "$Id $" + +/* +******************************************************************************** +* INCLUDE FILES +******************************************************************************** +*/ +#include "typedef.h" +#include "cnst.h" + +/* +******************************************************************************** +* LOCAL VARIABLES AND TABLES +******************************************************************************** +*/ +#define L_ENERGYHIST 60 +#define INV_L_FRAME 102 + + +/* 2*(160*x)^2 / 65536 where x is FLP values 150,5 and 50 */ +#define FRAMEENERGYLIMIT 17578 /* 150 */ +#define LOWERNOISELIMIT 20 /* 5 */ +#define UPPERNOISELIMIT 1953 /* 50 */ + +/* +******************************************************************************** +* DEFINITION OF DATA TYPES +******************************************************************************** +*/ +typedef struct{ + /* history vector of past synthesis speech energy */ + Word16 frameEnergyHist[L_ENERGYHIST]; + + /* state flags */ + Word16 bgHangover; /* counter; number of frames after last speech frame */ + +} Bgn_scdState; + +/* +******************************************************************************** +* DECLARATION OF PROTOTYPES +******************************************************************************** +*/ +/* +************************************************************************** +* +* Function : Bgn_scd_reset +* Purpose : Resets state memory +* Returns : 0 on success +* +************************************************************************** +*/ +void Bgn_scd_reset (Bgn_scdState *st); + +/* +************************************************************************** +* +* Function : Bgn_scd +* Purpose : Charaterice synthesis speech and detect background noise +* Returns : background noise decision; 0 = bgn, 1 = no bgn +* +************************************************************************** +*/ +Word16 Bgn_scd (Bgn_scdState *st, /* i : State variables for bgn SCD */ + Word16 ltpGainHist[], /* i : LTP gain history */ + Word16 speech[], /* o : synthesis speech frame */ + Word16 *voicedHangover /* o : # of frames after last voiced frame */ +); + +#endif