[FFmpeg-cvslog] wavpack: Clip samples after shifting
Derek Buitenhuis
git at videolan.org
Sat Dec 17 02:23:03 CET 2011
ffmpeg | branch: master | Derek Buitenhuis <derek.buitenhuis at gmail.com> | Fri Dec 16 13:31:28 2011 -0500| [365e1ec26d7e89a951ebd7851214f59f4aefdec0] | committer: Anton Khirnov
wavpack: Clip samples after shifting
It doesn't make much sense to clip pre-shift,
nor is it correct for proper decoding.
Signed-off-by: Derek Buitenhuis <derek.buitenhuis at gmail.com>
Signed-off-by: Anton Khirnov <anton at khirnov.net>
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=365e1ec26d7e89a951ebd7851214f59f4aefdec0
---
libavcodec/wavpack.c | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/libavcodec/wavpack.c b/libavcodec/wavpack.c
index 11e9904..5358967 100644
--- a/libavcodec/wavpack.c
+++ b/libavcodec/wavpack.c
@@ -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);
+ bit = (((S + bit) << s->shift) - bit) << s->post_shift;
if(s->hybrid)
bit = av_clip(bit, -s->hybrid_maxclip, s->hybrid_maxclip - 1);
- return bit << s->post_shift;
+ return bit;
}
static float wv_get_value_float(WavpackFrameContext *s, uint32_t *crc, int S)
More information about the ffmpeg-cvslog
mailing list