diff options
author | Benny Prijono <bennylp@teluu.com> | 2006-07-26 17:04:54 +0000 |
---|---|---|
committer | Benny Prijono <bennylp@teluu.com> | 2006-07-26 17:04:54 +0000 |
commit | 2fa99a7ade8748fae314aeab2fea83e9bc88c36c (patch) | |
tree | 689c1cb15f7e7304b955e296748c800ce430542d /pjmedia/src/pjmedia-codec/speex/filters_arm4.h | |
parent | d80219f36636faa876c84b586e7b4b4815767be3 (diff) |
- Bring speex codec up to date with their SVN trunk
- Speex codec should work in FIXED_POINT mode when PJ_HAS_FLOATING_POINT is set to zero.
- ulaw2linear will return zero if zero is given (this would make the VAD works better, and it also fixed click noise when call is established/hangup).
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@628 74dad513-b988-da41-8d7b-12977e46ad98
Diffstat (limited to 'pjmedia/src/pjmedia-codec/speex/filters_arm4.h')
-rw-r--r-- | pjmedia/src/pjmedia-codec/speex/filters_arm4.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/pjmedia/src/pjmedia-codec/speex/filters_arm4.h b/pjmedia/src/pjmedia-codec/speex/filters_arm4.h index b2503649..ac4d7a93 100644 --- a/pjmedia/src/pjmedia-codec/speex/filters_arm4.h +++ b/pjmedia/src/pjmedia-codec/speex/filters_arm4.h @@ -101,6 +101,8 @@ void filter_mem2(const spx_sig_t *x, const spx_coef_t *num, const spx_coef_t *de int i,j; spx_sig_t xi,yi,nyi; + for (i=0;i<ord;i++) + mem[i] = SHR32(mem[i],1); for (i=0;i<N;i++) { int deadm, deadn, deadd, deadidx, x1, y1, dead1, dead2, dead3, dead4, dead5, dead6; @@ -252,6 +254,8 @@ void filter_mem2(const spx_sig_t *x, const spx_coef_t *num, const spx_coef_t *de : "cc", "memory"); } + for (i=0;i<ord;i++) + mem[i] = SHL32(mem[i],1); } #define OVERRIDE_IIR_MEM2 @@ -260,6 +264,9 @@ void iir_mem2(const spx_sig_t *x, const spx_coef_t *den, spx_sig_t *y, int N, in int i,j; spx_sig_t xi,yi,nyi; + for (i=0;i<ord;i++) + mem[i] = SHR32(mem[i],1); + for (i=0;i<N;i++) { int deadm, deadd, deadidx, dead1, dead2, dead3, dead4, dead5, dead6; @@ -376,4 +383,7 @@ void iir_mem2(const spx_sig_t *x, const spx_coef_t *den, spx_sig_t *y, int N, in : "cc", "memory"); } + for (i=0;i<ord;i++) + mem[i] = SHL32(mem[i],1); + } |