From 6d38c260e57d3dcd9f106f378d0f190b0cb837fe Mon Sep 17 00:00:00 2001 From: Andreas Rheinhardt Date: Sun, 31 Mar 2024 23:42:13 +0200 Subject: [PATCH] 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 e3d8963c3cb5b8cd31460dd9b3b9dba2a2343bf5 which this patch effectively reverts. Signed-off-by: Andreas Rheinhardt --- libavcodec/dsddec.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavcodec/dsddec.c b/libavcodec/dsddec.c index 22009c70ef..2bb2e73b75 100644 --- a/libavcodec/dsddec.c +++ b/libavcodec/dsddec.c @@ -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));