s302m: fix resampling for 16 and 24bits.
authorBaptiste Coudurier <baptiste.coudurier@gmail.com>
Sat, 4 Jun 2011 12:36:30 +0000 (14:36 +0200)
committerAlex Converse <alex.converse@gmail.com>
Mon, 6 Jun 2011 19:17:19 +0000 (12:17 -0700)
libavcodec/s302m.c

index 9d623ef..2e261b6 100644 (file)
@@ -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;