Revision b888abe1 libavcodec/ra144.c

View differences:

libavcodec/ra144.c
226 226
 */
227 227
static int eval_refl(int *refl, const int16_t *coefs, RA144Context *ractx)
228 228
{
229
    int b, c, i;
230
    unsigned int u;
229
    int b, i, j;
231 230
    int buffer1[10];
232 231
    int buffer2[10];
233 232
    int *bp1 = buffer1;
......
243 242
        return 1;
244 243
    }
245 244

  
246
    for (c=8; c >= 0; c--) {
247
        b = 0x1000-((bp2[c+1] * bp2[c+1]) >> 12);
245
    for (i=8; i >= 0; i--) {
246
        b = 0x1000-((bp2[i+1] * bp2[i+1]) >> 12);
248 247

  
249 248
        if (!b)
250 249
            b = -2;
251 250

  
252
        for (u=0; u<=c; u++)
253
            bp1[u] = ((bp2[u] - ((refl[c+1] * bp2[c-u]) >> 12)) * (0x1000000 / b)) >> 12;
251
        for (j=0; j <= i; j++)
252
            bp1[j] = ((bp2[j] - ((refl[i+1] * bp2[i-j]) >> 12)) * (0x1000000 / b)) >> 12;
254 253

  
255
        refl[c] = bp1[c];
254
        refl[i] = bp1[i];
256 255

  
257
        if ((unsigned) bp1[c] + 0x1000 > 0x1fff)
256
        if ((unsigned) bp1[i] + 0x1000 > 0x1fff)
258 257
            return 1;
259 258

  
260 259
        FFSWAP(int *, bp1, bp2);

Also available in: Unified diff