summaryrefslogtreecommitdiff
path: root/pjmedia/src/pjmedia-codec/speex/filters_arm4.h
diff options
context:
space:
mode:
Diffstat (limited to 'pjmedia/src/pjmedia-codec/speex/filters_arm4.h')
-rw-r--r--pjmedia/src/pjmedia-codec/speex/filters_arm4.h10
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);
+
}