From a8a7c5d502a851d16c4668e03bff12d0e16c32b8 Mon Sep 17 00:00:00 2001 From: Paul B Mahol Date: Thu, 18 Nov 2021 15:12:20 +0100 Subject: avcodec/thd: fix special stereo support --- libavcodec/mlpdec.c | 4 +++- libavcodec/mlpenc.c | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/libavcodec/mlpdec.c b/libavcodec/mlpdec.c index 780ed5b7b6..29fac54542 100644 --- a/libavcodec/mlpdec.c +++ b/libavcodec/mlpdec.c @@ -408,7 +408,9 @@ static int read_major_sync(MLPDecodeContext *m, GetBitContext *gb) mh.stream_type); return AVERROR_PATCHWELCOME; } - if (mh.channel_modifier_thd_stream0 == THD_CH_MODIFIER_STEREO) + if (mh.channels_thd_stream1 == 2 && + mh.channels_thd_stream2 == 2 && + m->avctx->channels == 2) m->substream[0].mask = AV_CH_LAYOUT_STEREO; if ((substr = (mh.num_substreams > 1))) m->substream[0].mask = AV_CH_LAYOUT_STEREO; diff --git a/libavcodec/mlpenc.c b/libavcodec/mlpenc.c index 1cb02f22a9..d8783b6f56 100644 --- a/libavcodec/mlpenc.c +++ b/libavcodec/mlpenc.c @@ -626,7 +626,7 @@ static av_cold int mlp_encode_init(AVCodecContext *avctx) ctx->ch_modifier_thd0 = 0; ctx->ch_modifier_thd1 = 0; ctx->ch_modifier_thd2 = 0; - ctx->channel_arrangement = 0; + ctx->channel_arrangement = 1; break; case AV_CH_LAYOUT_5POINT0_BACK: ctx->ch_modifier_thd0 = 1; -- cgit v1.2.3