wavpack: calculate bpp using av_get_bytes_per_sample()
authorJustin Ruggles <justin.ruggles@gmail.com>
Sat, 24 Sep 2011 03:19:53 +0000 (23:19 -0400)
committerJustin Ruggles <justin.ruggles@gmail.com>
Sun, 23 Oct 2011 15:35:46 +0000 (11:35 -0400)
libavcodec/wavpack.c

index 5cd17b5..ec46fb1 100644 (file)
@@ -808,15 +808,13 @@ static int wavpack_decode_block(AVCodecContext *avctx, int block_no,
     }
     s->frame_flags = AV_RL32(buf); buf += 4;
     if(s->frame_flags&0x80){
-        bpp = sizeof(float);
         avctx->sample_fmt = AV_SAMPLE_FMT_FLT;
     } else if((s->frame_flags&0x03) <= 1){
-        bpp = 2;
         avctx->sample_fmt = AV_SAMPLE_FMT_S16;
     } else {
-        bpp = 4;
         avctx->sample_fmt = AV_SAMPLE_FMT_S32;
     }
+    bpp = av_get_bytes_per_sample(avctx->sample_fmt);
     samples = (uint8_t*)samples + bpp * wc->ch_offset;
 
     s->stereo = !(s->frame_flags & WV_MONO);