cin audio: use sign_extend() instead of casting to int16_t
authorJustin Ruggles <justin.ruggles@gmail.com>
Thu, 27 Oct 2011 17:58:05 +0000 (13:58 -0400)
committerJustin Ruggles <justin.ruggles@gmail.com>
Sat, 29 Oct 2011 20:43:40 +0000 (16:43 -0400)
libavcodec/dsicinav.c

index a6a4ff1..cbf7c4a 100644 (file)
@@ -26,6 +26,7 @@
 
 #include "avcodec.h"
 #include "bytestream.h"
+#include "mathops.h"
 
 
 typedef enum CinVideoBitmapIndex {
@@ -339,7 +340,7 @@ static int cinaudio_decode_frame(AVCodecContext *avctx,
     delta = cin->delta;
     if (cin->initial_decode_frame) {
         cin->initial_decode_frame = 0;
-        delta = (int16_t)AV_RL16(buf);
+        delta = sign_extend(AV_RL16(buf), 16);
         buf += 2;
         *samples++ = delta;
     }