Fix audio clicks in ADPCM IMA AMV by casting predictor as "signed short"
authorVladimir Voroshilov <voroshil@gmail.com>
Wed, 3 Oct 2007 19:32:57 +0000 (19:32 +0000)
committerVladimir Voroshilov <voroshil@gmail.com>
Wed, 3 Oct 2007 19:32:57 +0000 (19:32 +0000)
Initialize step_index as int16_t (as multimedia wiki says).

Originally committed as revision 10657 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavcodec/adpcm.c

index 0d1e0ec..21830ff 100644 (file)
@@ -1184,10 +1184,8 @@ static int adpcm_decode_frame(AVCodecContext *avctx,
         break;
     case CODEC_ID_ADPCM_IMA_AMV:
     case CODEC_ID_ADPCM_IMA_SMJPEG:
-        c->status[0].predictor = *src;
-        src += 2;
-        c->status[0].step_index = *src++;
-        src++;  /* skip another byte before getting to the meat */
+        c->status[0].predictor = (signed short)bytestream_get_le16(&src);
+        c->status[0].step_index = bytestream_get_le16(&src);
 
         if (avctx->codec->id == CODEC_ID_ADPCM_IMA_AMV)
             src+=4;