diff --git a/libavcodec/adpcm.c b/libavcodec/adpcm.c index 883b723c6f9d371598e8d9403249b20237e48ad5..87f4f4448f409ec6854bec2474d4b4e1090be1f1 100644 --- a/libavcodec/adpcm.c +++ b/libavcodec/adpcm.c @@ -1300,9 +1300,9 @@ static int adpcm_decode_frame(AVCodecContext *avctx, } for (channel=0; channel<avctx->channels; channel++) { - srcC = src + (big_endian ? bytestream_get_be32(&src) - : bytestream_get_le32(&src)) - + (avctx->channels-channel-1) * 4; + srcC = src + (avctx->channels-channel) * 4; + srcC += (big_endian ? bytestream_get_be32(&src) + : bytestream_get_le32(&src)); samplesC = samples + channel; if (avctx->codec->id == CODEC_ID_ADPCM_EA_R1) {