From 4f8da7e7dc9244342da6c97ca489a8e6f712f3b4 Mon Sep 17 00:00:00 2001
From: Baptiste Coudurier <baptiste.coudurier@gmail.com>
Date: Sat, 4 Jun 2011 14:36:30 +0200
Subject: s302m: fix resampling for 16 and 24bits.

---
 libavcodec/s302m.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

(limited to 'libavcodec')

diff --git a/libavcodec/s302m.c b/libavcodec/s302m.c
index 9d623efa8f..2e261b612e 100644
--- a/libavcodec/s302m.c
+++ b/libavcodec/s302m.c
@@ -97,7 +97,7 @@ static int s302m_decode_frame(AVCodecContext *avctx, void *data,
             *o++ = (av_reverse[buf[6] & 0xf0] << 28) |
                    (av_reverse[buf[5]]        << 20) |
                    (av_reverse[buf[4]]        << 12) |
-                   (av_reverse[buf[3] & 0x0f] <<  8);
+                   (av_reverse[buf[3] & 0x0f] <<  4);
             buf += 7;
         }
         *data_size = (uint8_t*) o - (uint8_t*) data;
@@ -120,7 +120,7 @@ static int s302m_decode_frame(AVCodecContext *avctx, void *data,
                     av_reverse[buf[0]];
             *o++ = (av_reverse[buf[4] & 0xf0] << 12) |
                    (av_reverse[buf[3]]        <<  4) |
-                    av_reverse[buf[2] & 0x0f];
+                   (av_reverse[buf[2]]        >>  4);
             buf += 5;
         }
         *data_size = (uint8_t*) o - (uint8_t*) data;
-- 
cgit v1.2.3