alacenc: Fix missing sign_extend()
authorMichael Niedermayer <michaelni@gmx.at>
Wed, 12 Jun 2013 22:01:13 +0000 (00:01 +0200)
committerCarl Eugen Hoyos <cehoyos@ag.or.at>
Wed, 12 Jun 2013 22:01:13 +0000 (00:01 +0200)
Fixes ticket #2497

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 8aea2f05dc56f7e7d60767dd27ba8e846a05e8ae)

libavcodec/alacenc.c

index 4ee558c..83063ab 100644 (file)
@@ -274,7 +274,7 @@ static void alac_linear_predictor(AlacEncodeContext *s, int ch)
         // generate warm-up samples
         residual[0] = samples[0];
         for (i = 1; i <= lpc.lpc_order; i++)
-            residual[i] = samples[i] - samples[i-1];
+            residual[i] = sign_extend(samples[i] - samples[i-1], s->write_sample_size);
 
         // perform lpc on remaining samples
         for (i = lpc.lpc_order + 1; i < s->frame_size; i++) {