diff options
author | Franz Brauße <dev@karlchenofhell.org> | 2012-03-30 14:40:14 -0400 |
---|---|---|
committer | Carl Eugen Hoyos <cehoyos@ag.or.at> | 2012-04-01 13:57:49 +0200 |
commit | f9bdc93723cc38f91de68d364854e7fa6b5857eb (patch) | |
tree | 26759c87aceafb992f1d72bf11423828c1baabe4 | |
parent | e687d77d150a325b4775957a6803e4ed998bb1ad (diff) | |
download | ffmpeg-f9bdc93723cc38f91de68d364854e7fa6b5857eb.tar.gz |
smacker audio: sign-extend the initial 16-bit predicted value
Fixes Bug #265
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
(cherry picked from commit 12cbbbb4abda2de0ea123282ccf7ebee61517f7d)
-rw-r--r-- | libavcodec/smacker.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/libavcodec/smacker.c b/libavcodec/smacker.c index c423012fae..53890effb9 100644 --- a/libavcodec/smacker.c +++ b/libavcodec/smacker.c @@ -668,7 +668,7 @@ static int smka_decode_frame(AVCodecContext *avctx, void *data, } if(bits) { //decode 16-bit data for(i = stereo; i >= 0; i--) - pred[i] = av_bswap16(get_bits(&gb, 16)); + pred[i] = sign_extend(av_bswap16(get_bits(&gb, 16)), 16); for(i = 0; i <= stereo; i++) *samples++ = pred[i]; for(; i < unp_size / 2; i++) { |