Mercurial > libavcodec.hg
comparison wavpack.c @ 9544:e5afd314bd14 libavcodec
Handle WavPack INT32INFO chunks with nonzero post shift
author | kostya |
---|---|
date | Thu, 23 Apr 2009 18:21:16 +0000 |
parents | a00e7601b584 |
children | 7a51c0815b28 |
comparison
equal
deleted
inserted
replaced
9543:a00e7601b584 | 9544:e5afd314bd14 |
---|---|
778 s->ch[i].bitrate_delta = 0; | 778 s->ch[i].bitrate_delta = 0; |
779 } | 779 } |
780 got_hybrid = 1; | 780 got_hybrid = 1; |
781 break; | 781 break; |
782 case WP_ID_INT32INFO: | 782 case WP_ID_INT32INFO: |
783 if(size != 4 || *buf){ | 783 if(size != 4){ |
784 av_log(avctx, AV_LOG_ERROR, "Invalid INT32INFO, size = %i, sent_bits = %i\n", size, *buf); | 784 av_log(avctx, AV_LOG_ERROR, "Invalid INT32INFO, size = %i, sent_bits = %i\n", size, *buf); |
785 buf += ssize; | 785 buf += ssize; |
786 continue; | 786 continue; |
787 } | 787 } |
788 if(buf[1]) | 788 if(buf[0]) |
789 s->post_shift = buf[0]; | |
790 else if(buf[1]) | |
789 s->shift = buf[1]; | 791 s->shift = buf[1]; |
790 else if(buf[2]){ | 792 else if(buf[2]){ |
791 s->and = s->or = 1; | 793 s->and = s->or = 1; |
792 s->shift = buf[2]; | 794 s->shift = buf[2]; |
793 }else if(buf[3]){ | 795 }else if(buf[3]){ |