diff --git a/libavcodec/ra144.c b/libavcodec/ra144.c index e6895cec44..43a84615dd 100644 --- a/libavcodec/ra144.c +++ b/libavcodec/ra144.c @@ -136,15 +136,11 @@ static void add_wav(int n, int skip_first, int *m, const int16_t *s1, dest[i] = ((*(s1++))*v[0] + (*(s2++))*v[1] + (*(s3++))*v[2]) >> 12; } -static void lpc_filter(const int16_t *lpc_coefs, const int16_t *adapt_coef, - uint16_t *statbuf, int len) +static void lpc_filter(const int16_t *lpc_coefs, uint16_t *statbuf, int len) { int x, i; int16_t *ptr = statbuf; - memcpy(statbuf, statbuf + 40, 20); - memcpy(statbuf + 10, adapt_coef, len * 2); - for (i=0; icurr_sblock, BLOCKSIZE); + memcpy(ractx->curr_sblock, ractx->curr_sblock + 40, + 10*sizeof(*ractx->curr_sblock)); + memcpy(ractx->curr_sblock + 10, block, + BLOCKSIZE*sizeof(*ractx->curr_sblock)); + + lpc_filter(lpc_coefs, ractx->curr_sblock, BLOCKSIZE); } static void int_to_int16(int16_t *out, const int *inp)