Revert "wavpack: Clip samples after shifting"
authorCarl Eugen Hoyos <cehoyos@ag.or.at>
Wed, 4 Jan 2012 19:34:45 +0000 (20:34 +0100)
committerCarl Eugen Hoyos <cehoyos@ag.or.at>
Wed, 4 Jan 2012 19:34:45 +0000 (20:34 +0100)
This reverts commit 8d055e9079f151f13d34e8e04f4aa7ca0273c448.

The original commit introduced ticket #871, do not import the problem
into the release branch.

libavcodec/wavpack.c

index f13980b..5b05e59 100644 (file)
@@ -405,12 +405,12 @@ static inline int wv_get_value_integer(WavpackFrameContext *s, uint32_t *crc, in
     }
 
     bit = (S & s->and) | s->or;
-    bit = (((S + bit) << s->shift) - bit) << s->post_shift;
+    bit = (((S + bit) << s->shift) - bit);
 
     if(s->hybrid)
         bit = av_clip(bit, -s->hybrid_maxclip - 1, s->hybrid_maxclip);
 
-    return bit;
+    return bit << s->post_shift;
 }
 
 static float wv_get_value_float(WavpackFrameContext *s, uint32_t *crc, int S)