diff options
author | kpfleming <kpfleming@f38db490-d61c-443f-a65b-d21fe96a405b> | 2008-03-26 17:15:06 +0000 |
---|---|---|
committer | kpfleming <kpfleming@f38db490-d61c-443f-a65b-d21fe96a405b> | 2008-03-26 17:15:06 +0000 |
commit | 392af68644966c1882ee104ead353486fa5dbedc (patch) | |
tree | e4d10b8cb1152c927adaa22d45a3536b6eb4c152 /codecs/ilbc/FrameClassify.c | |
parent | 81f88016ceba9e7ccebecadeff5a25e2d05812c9 (diff) |
Merged revisions 110881 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk
................
r110881 | kpfleming | 2008-03-26 10:10:28 -0700 (Wed, 26 Mar 2008) | 18 lines
Merged revisions 110880 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
................
r110880 | kpfleming | 2008-03-26 09:42:35 -0700 (Wed, 26 Mar 2008) | 10 lines
Merged revisions 110869 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2
........
r110869 | kpfleming | 2008-03-26 08:53:46 -0700 (Wed, 26 Mar 2008) | 2 lines
due to licensing restrictions, we cannot distribute the source code for iLBC encoding and decoding... so remove it, and add instructions on how the user can obtain it themselves
........
................
................
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.0@110882 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'codecs/ilbc/FrameClassify.c')
-rw-r--r-- | codecs/ilbc/FrameClassify.c | 110 |
1 files changed, 0 insertions, 110 deletions
diff --git a/codecs/ilbc/FrameClassify.c b/codecs/ilbc/FrameClassify.c deleted file mode 100644 index c982fd667..000000000 --- a/codecs/ilbc/FrameClassify.c +++ /dev/null @@ -1,110 +0,0 @@ - -/****************************************************************** - - iLBC Speech Coder ANSI-C Source Code - - FrameClassify.c - - Copyright (C) The Internet Society (2004). - All Rights Reserved. - -******************************************************************/ - -#include "iLBC_define.h" -#include "FrameClassify.h" - -/*---------------------------------------------------------------* - * Classification of subframes to localize start state - *--------------------------------------------------------------*/ - -int FrameClassify( /* index to the max-energy sub-frame */ - iLBC_Enc_Inst_t *iLBCenc_inst, - /* (i/o) the encoder state structure */ - float *residual /* (i) lpc residual signal */ -) { - float max_ssqEn, fssqEn[NSUB_MAX], bssqEn[NSUB_MAX], *pp; - int n, l, max_ssqEn_n; - const float ssqEn_win[NSUB_MAX-1]={(float)0.8,(float)0.9, - (float)1.0,(float)0.9,(float)0.8}; - const float sampEn_win[5]={(float)1.0/(float)6.0, - (float)2.0/(float)6.0, (float)3.0/(float)6.0, - (float)4.0/(float)6.0, (float)5.0/(float)6.0}; - - /* init the front and back energies to zero */ - - memset(fssqEn, 0, NSUB_MAX*sizeof(float)); - memset(bssqEn, 0, NSUB_MAX*sizeof(float)); - - /* Calculate front of first seqence */ - - n=0; - pp=residual; - - - for (l=0; l<5; l++) { - fssqEn[n] += sampEn_win[l] * (*pp) * (*pp); - pp++; - } - for (l=5; l<SUBL; l++) { - fssqEn[n] += (*pp) * (*pp); - pp++; - } - - /* Calculate front and back of all middle sequences */ - - for (n=1; n<iLBCenc_inst->nsub-1; n++) { - pp=residual+n*SUBL; - for (l=0; l<5; l++) { - fssqEn[n] += sampEn_win[l] * (*pp) * (*pp); - bssqEn[n] += (*pp) * (*pp); - pp++; - } - for (l=5; l<SUBL-5; l++) { - fssqEn[n] += (*pp) * (*pp); - bssqEn[n] += (*pp) * (*pp); - pp++; - } - for (l=SUBL-5; l<SUBL; l++) { - fssqEn[n] += (*pp) * (*pp); - bssqEn[n] += sampEn_win[SUBL-l-1] * (*pp) * (*pp); - pp++; - } - } - - /* Calculate back of last seqence */ - - n=iLBCenc_inst->nsub-1; - pp=residual+n*SUBL; - for (l=0; l<SUBL-5; l++) { - bssqEn[n] += (*pp) * (*pp); - pp++; - } - for (l=SUBL-5; l<SUBL; l++) { - bssqEn[n] += sampEn_win[SUBL-l-1] * (*pp) * (*pp); - pp++; - } - - /* find the index to the weighted 80 sample with - most energy */ - - if (iLBCenc_inst->mode==20) l=1; - else l=0; - - max_ssqEn=(fssqEn[0]+bssqEn[1])*ssqEn_win[l]; - max_ssqEn_n=1; - for (n=2; n<iLBCenc_inst->nsub; n++) { - - l++; - - - if ((fssqEn[n-1]+bssqEn[n])*ssqEn_win[l] > max_ssqEn) { - max_ssqEn=(fssqEn[n-1]+bssqEn[n]) * - ssqEn_win[l]; - max_ssqEn_n=n; - } - } - - return max_ssqEn_n; -} - - |