]> git.sesse.net Git - ffmpeg/blobdiff - libavcodec/flacdsp.c
avcodec/qdrw: add support for 0x0001 code
[ffmpeg] / libavcodec / flacdsp.c
index 30b66484e874c0968d26893d6b72a78c46397ea1..560091f73a8bcf91739d5e4854f167f8ff7e016c 100644 (file)
@@ -49,8 +49,8 @@ static void flac_lpc_16_c(int32_t *decoded, const int coeffs[32],
     int i, j;
 
     for (i = pred_order; i < len - 1; i += 2, decoded += 2) {
-        int c = coeffs[0];
-        int d = decoded[0];
+        SUINT c = coeffs[0];
+        SUINT d = decoded[0];
         int s0 = 0, s1 = 0;
         for (j = 1; j < pred_order; j++) {
             s0 += c*d;
@@ -59,14 +59,14 @@ static void flac_lpc_16_c(int32_t *decoded, const int coeffs[32],
             c = coeffs[j];
         }
         s0 += c*d;
-        d = decoded[j] += s0 >> qlevel;
+        d = decoded[j] += (SUINT)(s0 >> qlevel);
         s1 += c*d;
-        decoded[j + 1] += s1 >> qlevel;
+        decoded[j + 1] += (SUINT)(s1 >> qlevel);
     }
     if (i < len) {
         int sum = 0;
         for (j = 0; j < pred_order; j++)
-            sum += coeffs[j] * decoded[j];
+            sum += coeffs[j] * (SUINT)decoded[j];
         decoded[j] += sum >> qlevel;
     }
 }