wavpack: calculate bpp using av_get_bytes_per_sample()
This commit is contained in:
parent
ddfb8e1adb
commit
d2604f9260
@ -808,15 +808,13 @@ static int wavpack_decode_block(AVCodecContext *avctx, int block_no,
|
|||||||
}
|
}
|
||||||
s->frame_flags = AV_RL32(buf); buf += 4;
|
s->frame_flags = AV_RL32(buf); buf += 4;
|
||||||
if(s->frame_flags&0x80){
|
if(s->frame_flags&0x80){
|
||||||
bpp = sizeof(float);
|
|
||||||
avctx->sample_fmt = AV_SAMPLE_FMT_FLT;
|
avctx->sample_fmt = AV_SAMPLE_FMT_FLT;
|
||||||
} else if((s->frame_flags&0x03) <= 1){
|
} else if((s->frame_flags&0x03) <= 1){
|
||||||
bpp = 2;
|
|
||||||
avctx->sample_fmt = AV_SAMPLE_FMT_S16;
|
avctx->sample_fmt = AV_SAMPLE_FMT_S16;
|
||||||
} else {
|
} else {
|
||||||
bpp = 4;
|
|
||||||
avctx->sample_fmt = AV_SAMPLE_FMT_S32;
|
avctx->sample_fmt = AV_SAMPLE_FMT_S32;
|
||||||
}
|
}
|
||||||
|
bpp = av_get_bytes_per_sample(avctx->sample_fmt);
|
||||||
samples = (uint8_t*)samples + bpp * wc->ch_offset;
|
samples = (uint8_t*)samples + bpp * wc->ch_offset;
|
||||||
|
|
||||||
s->stereo = !(s->frame_flags & WV_MONO);
|
s->stereo = !(s->frame_flags & WV_MONO);
|
||||||
|
Loading…
Reference in New Issue
Block a user