From 1d46ba661c8f067f17109554fbe56e923be6d6eb Mon Sep 17 00:00:00 2001 From: Vitor Sessak Date: Sun, 11 May 2008 18:47:16 +0000 Subject: [PATCH] Simplify do_voice(). Patch by Vitor Sessak (vitor1001 gmail com) Originally committed as revision 13124 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavcodec/ra144.c | 23 ++++++++--------------- 1 file changed, 8 insertions(+), 15 deletions(-) diff --git a/libavcodec/ra144.c b/libavcodec/ra144.c index 7f13b1b1a..80ecba636 100644 --- a/libavcodec/ra144.c +++ b/libavcodec/ra144.c @@ -106,28 +106,21 @@ static int t_sqrt(unsigned int x) static void do_voice(int *a1, int *a2) { int buffer[10]; - int *b1, *b2; + int *b1 = buffer; + int *b2 = a2; int x, y; - int *ptr; - - b1 = buffer; - b2 = a2; for (x=0; x < 10; x++) { - b1[x] = (*a1) << 4; + b1[x] = a1[x] << 4; + + for (y=0; y < x; y++) + b1[y] = ((a1[x] * (b2[x-y-1])) >> 12) + b2[y]; - if(x > 0) { - ptr = b2 + x; - for (y=0; y <= x - 1; y++) - b1[y] = (((*a1) * (*(--ptr))) >> 12) + b2[y]; - } FFSWAP(int *, b1, b2); - a1++; } - ptr = a2 + 10; - while (ptr > a2) - (*a2++) >>= 4; + for (x=0; x < 10; x++) + a2[x] >>= 4; } -- 2.11.0