From 7d1b17b83330aefe2f32a66fe84effe46ae51014 Mon Sep 17 00:00:00 2001
From: Justin Ruggles <justin.ruggles@gmail.com>
Date: Thu, 27 Oct 2011 13:58:05 -0400
Subject: [PATCH] cin audio: use sign_extend() instead of casting to int16_t

---
 libavcodec/dsicinav.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/libavcodec/dsicinav.c b/libavcodec/dsicinav.c
index a6a4ff1c6e1..cbf7c4a6f82 100644
--- a/libavcodec/dsicinav.c
+++ b/libavcodec/dsicinav.c
@@ -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;
     }
-- 
GitLab