[FFmpeg-cvslog] avcodec/mlpdec: unbreak TrueHD single substream mono decoding

Paul B Mahol git at videolan.org
Sun Sep 18 16:21:31 EEST 2022


ffmpeg | branch: master | Paul B Mahol <onemda at gmail.com> | Sun Sep 18 14:58:58 2022 +0200| [2069894bc15931795aa02ed40aea4159b5daf55c] | committer: Paul B Mahol

avcodec/mlpdec: unbreak TrueHD single substream mono decoding

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=2069894bc15931795aa02ed40aea4159b5daf55c
---

 libavcodec/mlpdec.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/libavcodec/mlpdec.c b/libavcodec/mlpdec.c
index 092344b69a..635f92895c 100644
--- a/libavcodec/mlpdec.c
+++ b/libavcodec/mlpdec.c
@@ -432,6 +432,11 @@ static int read_major_sync(MLPDecodeContext *m, GetBitContext *gb)
             m->substream[0].mask = AV_CH_LAYOUT_STEREO;
         if ((substr = (mh.num_substreams > 1)))
             m->substream[0].mask = AV_CH_LAYOUT_STEREO;
+        if (mh.num_substreams == 1 &&
+            mh.channels_thd_stream1 == 1 &&
+            mh.channels_thd_stream2 == 1 &&
+            m->avctx->ch_layout.nb_channels == 1)
+            m->substream[0].mask = AV_CH_LAYOUT_MONO;
         if (mh.num_substreams > 2)
             if (mh.channel_layout_thd_stream2)
                 m->substream[2].mask = mh.channel_layout_thd_stream2;



More information about the ffmpeg-cvslog mailing list