diff --git a/libavcodec/adpcm.c b/libavcodec/adpcm.c index 8ddca46b67..1502a5cb04 100644 --- a/libavcodec/adpcm.c +++ b/libavcodec/adpcm.c @@ -2688,7 +2688,8 @@ static int adpcm_decode_frame(AVCodecContext *avctx, AVFrame *frame, int16_t *sf_out = &out[j*8]; for (int i = 0; i < 8; i++) { - int sample, delta = 0; + int sample; + unsigned delta = 0; for (int o = 0; o < order; o++) delta += coefs[o*8 + i] * hist[(8 - order) + o]; @@ -2699,7 +2700,7 @@ static int adpcm_decode_frame(AVCodecContext *avctx, AVFrame *frame, } sample = sf_codes[i] * 2048; - sample = (sample + delta) / 2048; + sample = (int)(sample + delta) / 2048; sample = av_clip_int16(sample); sf_out[i] = sample; }