From patchwork Sat Sep 18 17:21:04 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paul B Mahol X-Patchwork-Id: 30359 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a6b:6506:0:0:0:0:0 with SMTP id z6csp65298iob; Sat, 18 Sep 2021 10:21:27 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyFlnw8Te32ly8hC0u7xBDIm3foazG4dnsoIkPJ5oa+r0XwdAz8P96ZZb8X9ZgM5xKlXZL6 X-Received: by 2002:a17:906:7c52:: with SMTP id g18mr18971420ejp.246.1631985687106; Sat, 18 Sep 2021 10:21:27 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1631985687; cv=none; d=google.com; s=arc-20160816; b=g22j//x1hR//lmG8zC+8cVWO+Qq4ORqvZSLW+dMF4uSuSpvw8uAzLZuJl/yw5BnPYA dV4fVZPVH/ZzJzU1K5c9luFtU2dDJwxT53nKYISP3qqhxVCD3dpENpsbCtHzNpBAZAmE f/lnTOey+hkCNELBB7sqGRbzWcPICGJQL1slbNugbD/zNGhnByZFQsRqzZpS0LW7Nuk6 J2BbRmEzCRhtL2PN6Y/RIK12KYMbtivW4ntTYXCehCOZLANG7k/Dah4Omt21rBptIvHj d30rV23HDxIdhYR53F8Cvemp7OZyYTd0JVVwMaG46V2OgiHTxTQWMFI+RnIWdt388dsY UXqA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:mime-version:reply-to :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:message-id:date:to:from:dkim-signature :delivered-to; bh=J8nzmSiKBRSNWpOYRvn89bJwml7kx9XIxljT0XvR/aM=; b=XFY1wyqL6LWB599HtuU8D4KndzWfCkDDN8cESe29C+F56cWJuvm+gNHaMjuTZ4vH9w td/w0YAWHtGokbSIJK/azY+h+08sjpt4hvB7dVBPrs27EtexivVueTTn40D+XlSKipvo 77jkYlOi/aTI7CWXRioay41HBe3RM6aGbZdSWmZmqsGbppRI8cf4LkOrtn9eaLMc1hvi 8+kwYdv2Oz7lMLCIKk4ZyaBnA+Yep6JUfT66fuEXba3tRftodaD+bndMhOP+z8hx8SP6 sdi2JYRilEGjggLaVc9IH+S7mzd/JdEhEzvic19ZINesfo2DvF4DxnRKJcU2U8gUnqcS PeKQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20210112 header.b=j4SxoUK6; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id b1si13617014ejb.152.2021.09.18.10.21.26; Sat, 18 Sep 2021 10:21:27 -0700 (PDT) Received-SPF: pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) client-ip=79.124.17.100; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20210112 header.b=j4SxoUK6; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 0E14D68B00E; Sat, 18 Sep 2021 20:21:24 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-ed1-f53.google.com (mail-ed1-f53.google.com [209.85.208.53]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id DD63E68A9EA for ; Sat, 18 Sep 2021 20:21:16 +0300 (EEST) Received: by mail-ed1-f53.google.com with SMTP id v22so38318811edd.11 for ; Sat, 18 Sep 2021 10:21:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:subject:date:message-id; bh=Cug1HlhJ4wqEq8pp+TquREz64FVf7jseGqSR8W0N6hA=; b=j4SxoUK6unwz5K/dLc7pukfNNqzfKiTHdo1LaltUhozYZgMI6PVtCDoCDxIpuiKHj3 RSN5iQDfHhHl+8iFLF4Wfp1C4QXlteGQEIz1gtmELYxT6akn4XvzmwbpCJH2rAvY/2/c H7uDKnNmWfzOeBfL3hdaT2d5TKOnczn9Le4cAxNX57Kez37GexeKtHg+Ft8mxMM8OeNl ucbZh3cqu/dYxontCY707GIXF5DEubRDd7HGQ3tkc27yfg5rVi1ru1MejT/X3bVMJOk2 DAiW+y91rGWI/Kz4JG+JqhzHUyvdXcWfWzzUF1sgxFCcnPNJpSz3uHHCmZrNH/wDcvrA xZbw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id; bh=Cug1HlhJ4wqEq8pp+TquREz64FVf7jseGqSR8W0N6hA=; b=6LQDKPy9fLX8rjwqjfho9MT4BIVc03YU8ba5Z/CTvIhbSaxpmr8QSKIbnlSu41B9BY tjSWApAh2vjpJESJ2w65RpZAVEvpEJvSV/1qHaxdb5CE9/1F9KIW15Ty2INBlz1kNHWO EqRzheVx0fkOpahxvltGsfkZJcDHUmpMpRpR/BN2sX85/zCUsoKfPwsOGX+XERGX5iyQ IC10YKi5Jk0INV9PJ3mLLrMeUQJOMc1xIUXwpNo1HJztHemjSJFaTQussFp5DA6989Cf m/Kj5gq7Ikt33IifVZLEKiUEWceGuEXqAMn4BRFZHywyf1CuuhQnfeP+V2fAOKOy6rxV Pq6w== X-Gm-Message-State: AOAM532TqXT6Wa7leDpfhYadIrBfFuQJuN3S+Aqwm5FmrtseAzgwrie+ cLjlaa6MOgw/Bwbo2tPi8RkTkoRinHo= X-Received: by 2002:a17:906:6691:: with SMTP id z17mr18896520ejo.207.1631985676384; Sat, 18 Sep 2021 10:21:16 -0700 (PDT) Received: from localhost.localdomain ([95.168.121.97]) by smtp.gmail.com with ESMTPSA id p17sm1983573edt.54.2021.09.18.10.21.15 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 18 Sep 2021 10:21:15 -0700 (PDT) From: Paul B Mahol To: ffmpeg-devel@ffmpeg.org Date: Sat, 18 Sep 2021 19:21:04 +0200 Message-Id: <20210918172105.5369-1-onemda@gmail.com> X-Mailer: git-send-email 2.17.1 Subject: [FFmpeg-devel] [PATCH 1/2] avcodec/mlpdec: fix decoding single stereo stream in TrueHD X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: VVPgFApIroOl Signed-off-by: Paul B Mahol --- libavcodec/mlpdec.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/libavcodec/mlpdec.c b/libavcodec/mlpdec.c index bee47b6cc6..68c270ef52 100644 --- a/libavcodec/mlpdec.c +++ b/libavcodec/mlpdec.c @@ -408,6 +408,8 @@ 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) + 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 > 2) @@ -415,7 +417,7 @@ static int read_major_sync(MLPDecodeContext *m, GetBitContext *gb) m->substream[2].mask = mh.channel_layout_thd_stream2; else m->substream[2].mask = mh.channel_layout_thd_stream1; - m->substream[substr].mask = mh.channel_layout_thd_stream1; + m->substream[1].mask = mh.channel_layout_thd_stream1; if (m->avctx->channels<=2 && m->substream[substr].mask == AV_CH_LAYOUT_MONO && m->max_decoded_substream == 1) { av_log(m->avctx, AV_LOG_DEBUG, "Mono stream with 2 substreams, ignoring 2nd\n");