avcodec/adpcm: pick correct step_index for IMA AMV
authorPaul B Mahol <onemda@gmail.com>
Thu, 19 May 2016 14:40:07 +0000 (16:40 +0200)
committerPaul B Mahol <onemda@gmail.com>
Thu, 19 May 2016 21:48:25 +0000 (23:48 +0200)
Fixes #5538

Signed-off-by: Paul B Mahol <onemda@gmail.com>
libavcodec/adpcm.c

index 0b6b92e..ac74318 100644 (file)
@@ -1310,8 +1310,8 @@ static int adpcm_decode_frame(AVCodecContext *avctx, void *data,
         break;
     case AV_CODEC_ID_ADPCM_IMA_AMV:
         c->status[0].predictor = sign_extend(bytestream2_get_le16u(&gb), 16);
-        c->status[0].step_index = bytestream2_get_le16u(&gb);
-        bytestream2_skipu(&gb, 4);
+        c->status[0].step_index = bytestream2_get_byteu(&gb);
+        bytestream2_skipu(&gb, 5);
         if (c->status[0].step_index > 88u) {
             av_log(avctx, AV_LOG_ERROR, "ERROR: step_index = %i\n",
                    c->status[0].step_index);