diff options
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); + } |