avcodec/dsddec: Fix decoding LSBF samples

ff_dsd2pcm_translate() works internally by converting LSBF input
to MSBF upon reading; its buffer is therefore always MSBF
and should therefore be initialized with MSBF silence;
but this is not true since e3d8963c3c
which this patch effectively reverts.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
This commit is contained in:
Andreas Rheinhardt 2024-03-31 23:42:13 +02:00
parent e81fa9f482
commit 6d38c260e5

View File

@ -56,7 +56,7 @@ static av_cold int decode_init(AVCodecContext *avctx)
if (!s)
return AVERROR(ENOMEM);
silence = avctx->codec_id == AV_CODEC_ID_DSD_LSBF || avctx->codec_id == AV_CODEC_ID_DSD_LSBF_PLANAR ? DSD_SILENCE_REVERSED : DSD_SILENCE;
silence = DSD_SILENCE;
for (i = 0; i < avctx->ch_layout.nb_channels; i++) {
s[i].pos = 0;
memset(s[i].buf, silence, sizeof(s[i].buf));