diff --git a/libavcodec/alacenc.c b/libavcodec/alacenc.c index bb618e16f2..235bff6637 100644 --- a/libavcodec/alacenc.c +++ b/libavcodec/alacenc.c @@ -257,7 +257,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->avctx->frame_size; i++) {