diff --git a/libavcodec/ra288.c b/libavcodec/ra288.c index 355a7ab8eb..86a0a6a3ac 100644 --- a/libavcodec/ra288.c +++ b/libavcodec/ra288.c @@ -41,16 +41,14 @@ typedef struct { static void decode(Real288_internal *glob, float gain, int cb_coef) { unsigned int x, y; - float f; double sum, sumsum; - float *p1, *p2; float buffer[5]; for (x=36; x--; glob->sb[x+5] = glob->sb[x]); for (x=5; x--;) { - p1 = glob->sb+x; - p2 = glob->pr1; + float *p1 = glob->sb+x; + float *p2 = glob->pr1; for (sum=0, y=36; y--; sum -= (*(++p1))*(*(p2++))); glob->sb[x] = sum; @@ -84,7 +82,7 @@ static void decode(Real288_internal *glob, float gain, int cb_coef) /* output */ for (x=0; x < 5; x++) { - f = glob->sb[4-x] + buffer[x]; + float f = glob->sb[4-x] + buffer[x]; if (f > 4095) f = 4095; @@ -105,9 +103,7 @@ static void colmult(float *tgt, float *m1, const float *m2, int n) static int pred(float *in, float *tgt, int n) { int x, y; - float *p1, *p2; double f0, f1, f2; - float temp; if (in[n] == 0) return 0; @@ -116,11 +112,12 @@ static int pred(float *in, float *tgt, int n) return 0; for (x=1 ; ; x++) { + float *p1 = in + x; + float *p2 = tgt; + if (n < x) return 1; - p1 = in + x; - p2 = tgt; f1 = *(p1--); for (y=x; --y; f1 += (*(p1--))*(*(p2++))); @@ -128,7 +125,7 @@ static int pred(float *in, float *tgt, int n) p2 = tgt; *(p1--) = f2 = -f1/f0; for (y=x >> 1; y--;) { - temp = *p2 + *p1 * f2; + float temp = *p2 + *p1 * f2; *(p1--) += *p2 * f2; *(p2++) = temp; } @@ -141,11 +138,11 @@ static int pred(float *in, float *tgt, int n) static void prodsum(float *tgt, float *src, int len, int n) { unsigned int x; - float *p1, *p2; double sum; while (n >= 0) { - p1 = (p2 = src) - n; + float *p2 = src; + float *p1 = p2 - n; for (sum=0, x=len; x--; sum += (*p1++) * (*p2++)); tgt[n--] = sum; }