adpcm: Write the correct number of samples for ima-dk4
authorLuca Barbato <lu_zero@gentoo.org>
Sun, 7 Jul 2013 10:56:12 +0000 (12:56 +0200)
committerLuca Barbato <lu_zero@gentoo.org>
Tue, 9 Jul 2013 08:49:29 +0000 (10:49 +0200)
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
libavcodec/adpcm.c

index 9502849..8b20321 100644 (file)
@@ -770,7 +770,7 @@ static int adpcm_decode_frame(AVCodecContext *avctx, void *data,
                 return AVERROR_INVALIDDATA;
             }
         }
-        for (n = nb_samples >> (1 - st); n > 0; n--) {
+        for (n = (nb_samples >> (1 - st)) - 1; n > 0; n--) {
             int v = bytestream2_get_byteu(&gb);
             *samples++ = adpcm_ima_expand_nibble(&c->status[0 ], v >> 4  , 3);
             *samples++ = adpcm_ima_expand_nibble(&c->status[st], v & 0x0F, 3);