|
|
|
@ -1505,28 +1505,30 @@ static int wavpack_decode_block(AVCodecContext *avctx, int block_no, |
|
|
|
|
|
|
|
|
|
if (s->stereo_in) { |
|
|
|
|
if (got_dsd) { |
|
|
|
|
if (dsd_mode == 3) |
|
|
|
|
if (dsd_mode == 3) { |
|
|
|
|
ret = wv_unpack_dsd_high(s, samples_l, samples_r); |
|
|
|
|
else if (dsd_mode == 1) |
|
|
|
|
} else if (dsd_mode == 1) { |
|
|
|
|
ret = wv_unpack_dsd_fast(s, samples_l, samples_r); |
|
|
|
|
else |
|
|
|
|
} else { |
|
|
|
|
ret = wv_unpack_dsd_copy(s, samples_l, samples_r); |
|
|
|
|
} |
|
|
|
|
else |
|
|
|
|
} else { |
|
|
|
|
ret = wv_unpack_stereo(s, &s->gb, samples_l, samples_r, avctx->sample_fmt); |
|
|
|
|
} |
|
|
|
|
if (ret < 0) |
|
|
|
|
return ret; |
|
|
|
|
} else { |
|
|
|
|
if (got_dsd) { |
|
|
|
|
if (dsd_mode == 3) |
|
|
|
|
if (dsd_mode == 3) { |
|
|
|
|
ret = wv_unpack_dsd_high(s, samples_l, NULL); |
|
|
|
|
else if (dsd_mode == 1) |
|
|
|
|
} else if (dsd_mode == 1) { |
|
|
|
|
ret = wv_unpack_dsd_fast(s, samples_l, NULL); |
|
|
|
|
else |
|
|
|
|
} else { |
|
|
|
|
ret = wv_unpack_dsd_copy(s, samples_l, NULL); |
|
|
|
|
} |
|
|
|
|
else |
|
|
|
|
} else { |
|
|
|
|
ret = wv_unpack_mono(s, &s->gb, samples_l, avctx->sample_fmt); |
|
|
|
|
} |
|
|
|
|
if (ret < 0) |
|
|
|
|
return ret; |
|
|
|
|
|
|
|
|
|