diff options
author | Kostya Shishkov <kostya.shishkov@gmail.com> | 2009-04-23 18:21:16 +0000 |
---|---|---|
committer | Kostya Shishkov <kostya.shishkov@gmail.com> | 2009-04-23 18:21:16 +0000 |
commit | 6e0f746d3eac0b07b9f5e4216d45ad70ca17fe62 (patch) | |
tree | afea93ed0feb1b51abd8c86c973501a212ce02ff /libavcodec/wavpack.c | |
parent | 0638c2ae3ce3051d09b1c5d386443c0fdbc8f3cc (diff) | |
download | ffmpeg-6e0f746d3eac0b07b9f5e4216d45ad70ca17fe62.tar.gz |
Handle WavPack INT32INFO chunks with nonzero post shift
Originally committed as revision 18668 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavcodec/wavpack.c')
-rw-r--r-- | libavcodec/wavpack.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/libavcodec/wavpack.c b/libavcodec/wavpack.c index 4a7a9e5c6b..e0db0168aa 100644 --- a/libavcodec/wavpack.c +++ b/libavcodec/wavpack.c @@ -780,12 +780,14 @@ static int wavpack_decode_frame(AVCodecContext *avctx, got_hybrid = 1; break; case WP_ID_INT32INFO: - if(size != 4 || *buf){ + if(size != 4){ av_log(avctx, AV_LOG_ERROR, "Invalid INT32INFO, size = %i, sent_bits = %i\n", size, *buf); buf += ssize; continue; } - if(buf[1]) + if(buf[0]) + s->post_shift = buf[0]; + else if(buf[1]) s->shift = buf[1]; else if(buf[2]){ s->and = s->or = 1; |