From patchwork Fri Oct 28 12:21:37 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: James Almer X-Patchwork-Id: 39027 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:85a8:b0:a2:d5a7:ad9d with SMTP id s40csp754401pzd; Fri, 28 Oct 2022 05:22:52 -0700 (PDT) X-Google-Smtp-Source: AMsMyM5tiXAdhpj2aBbONcm9Dg+m3OQ9gtXEN+tSy69vASveFzeT/n2xWqY48AwLQAubWum12vkY X-Received: by 2002:a05:6402:3484:b0:45d:2f59:fae1 with SMTP id v4-20020a056402348400b0045d2f59fae1mr50252708edc.237.1666959772385; Fri, 28 Oct 2022 05:22:52 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1666959772; cv=none; d=google.com; s=arc-20160816; b=qakEXnPXYUmMUE4WSpZRWfnA9nbtrvk268TtjAV2Y0E7HTA6ZunKZDQv4fdqOtYh/w msIWrvv5dWyXGv71t5Wmq5ieV8DXvk/RCJ4XeA0VmzOO7FHFcyX/Id9Y4Zxr09zbnU5s 2s/jQp/4WtbVdzFS8WU+T8bvczl1saNJZ1+ZgBxiywSdR/DBBuMvNrsLWlvZAQpoJbtU tBylhJjljz/havODI9qp5YBMyu28fDd9DRdIuG/kflcrcBORmsrGd358FuVn4jnX2tZ6 Q36B/VE2mlXnXrUQKWclEb3j20slSD5o1wQgZfdf1hl+c3Fno9A1kwurOZs4C+cwowmp kzfA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:reply-to:list-subscribe :list-help:list-post:list-archive:list-unsubscribe:list-id :precedence:subject:mime-version:message-id:date:to:from :dkim-signature:delivered-to; bh=x+AO8XJC8TAez29TyvW3nvfhQ9l3eKAF0a0soIMdimY=; b=Fae6i8eDPXOLGl3yItpzLki2ODv8cU25gJcougFmpg5Ov8hWdT9yLTyRtQvGr/EzOE Oq59qYbUwfHg1+D2QjnbVS8p0idwigMUE9IfBgJeau1VvCeEOkijYz9GqepGl9KV1U6A fnrvJorwecnG5ot3hi9TfLIdexDdrYsLZxY07LjmXtrMeyNM/+ewo2YIRTYyUQ/LOWnK DTrFz5V3Osm8OkXw4t9ZPJ4kAycU89m+Wwdp9WuxFcMo6GYqdN6yaE96yJMmoStoZ0u0 oaLXj/d8FziJcChpqfT/vcROUI0xx3RVZq50mvQw2L6Ek/lMtr7B1x1Dwg/X8z+Nwofv +fAw== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20210112 header.b=NuZNcGts; 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 g22-20020a1709065d1600b00773b8e3b6a1si4828311ejt.805.2022.10.28.05.22.51; Fri, 28 Oct 2022 05:22:52 -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=NuZNcGts; 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 1015E68BB0D; Fri, 28 Oct 2022 15:22:48 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-oi1-f170.google.com (mail-oi1-f170.google.com [209.85.167.170]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 1C5E368B7B9 for ; Fri, 28 Oct 2022 15:22:41 +0300 (EEST) Received: by mail-oi1-f170.google.com with SMTP id y67so5968421oiy.1 for ; Fri, 28 Oct 2022 05:22:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:message-id:date:subject:to :from:from:to:cc:subject:date:message-id:reply-to; bh=az4qDW46Hr+SOMsCTVt9TKc6EBleJYuyAzQtMInF29U=; b=NuZNcGtsVuq5tNICQ7T/B90k7NcUuEKX/7Hxjn9JuV/LcWubgsXJhlVCJyotNrHzN7 prpFlxJmoy6BJPpQAycjRfg61x4XZBUQ6mEkytaBDT6fhAyCaerQkWw4VitCsiOH8f5L +xQJ9rI3BxQHNo3E7fDgQ2cbtGKFu/g70owbje7d823fYP5WTKLBfN3g8GJW6bgSTAAF toYlIyKIMaDfNvbfAh5lto7M5TVF2GbMpf5w6IZ4HIhiVYZy5SdNbH+LpdVzOumEcemW 5f1mA0+oWGiZwyou+/yTkTWfWYn36pyLUdGzlMOX7ueFvaD6Z6vZzYXI8T1U4QVVVpsP cnbA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:message-id:date:subject:to :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=az4qDW46Hr+SOMsCTVt9TKc6EBleJYuyAzQtMInF29U=; b=qfI66aKys9Rwh9uEPx/GKgwQUEX3iTn4n+8tu/JHJxrzwcWv0b4LsNTJf4Po+ckOIB za0HXxB38VlIz3fjn8useeiyYU3dYn6le9QXfFHbdzKJCwyDhriUKif91NWgW+VyUVAY +VdKxDx5j1HINodphe1TswMMMEEFfoyOYsmcIDdq8abBMDN5IXXJpvDPPyqMeHAN/RKi Kor3+qAUsaHi73g9h+ufTI4K8kZYqBKXBY2x3/Zt0quORENX7Dkw0dXlHBA8sdg2ZOpS zhPeO8GphBcfCeKPjMR3cbLtkwf2lNeLUZp4BK1e4l+JBYst5SsHDSIytY/LtnR+Lzs1 w9bg== X-Gm-Message-State: ACrzQf3i5qr60FEXunn7N4DHqGBAeFjm1Twrdu8/mnSeQrSazm8QS93r 8HNYIZGpyFjvjnmQcTHVxhYZC0UoAio= X-Received: by 2002:a05:6808:148f:b0:354:b8c5:495d with SMTP id e15-20020a056808148f00b00354b8c5495dmr8112152oiw.108.1666959759155; Fri, 28 Oct 2022 05:22:39 -0700 (PDT) Received: from localhost.localdomain ([191.97.187.183]) by smtp.gmail.com with ESMTPSA id v206-20020acaacd7000000b0035028730c90sm1458869oie.1.2022.10.28.05.22.37 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 28 Oct 2022 05:22:38 -0700 (PDT) From: James Almer To: ffmpeg-devel@ffmpeg.org Date: Fri, 28 Oct 2022 09:21:37 -0300 Message-Id: <20221028122140.1885-1-jamrial@gmail.com> X-Mailer: git-send-email 2.38.1 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 1/4 v2] avcodec/aacdec: fix parsing streams with channel configuration 11 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: 5OnGfApNLFVV Set the correct amount of tags in tags_per_config[] and ensure the side channels (Surround in the spec) are used. Signed-off-by: James Almer --- libavcodec/aacdec_template.c | 4 +--- libavcodec/aacdectab.h | 4 ++-- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/libavcodec/aacdec_template.c b/libavcodec/aacdec_template.c index 4a9513d53e..c10bc743b6 100644 --- a/libavcodec/aacdec_template.c +++ b/libavcodec/aacdec_template.c @@ -731,9 +731,7 @@ static ChannelElement *get_che(AACContext *ac, int type, int elem_id) return ac->tag_che_map[TYPE_CPE][elem_id] = ac->che[TYPE_CPE][2]; } case 11: - if (ac->tags_mapped == 2 && - ac->oc[1].m4ac.chan_config == 11 && - type == TYPE_SCE) { + if (ac->tags_mapped == 3 && type == TYPE_SCE) { ac->tags_mapped++; return ac->tag_che_map[TYPE_SCE][elem_id] = ac->che[TYPE_SCE][1]; } diff --git a/libavcodec/aacdectab.h b/libavcodec/aacdectab.h index e38b93a534..b820f10556 100644 --- a/libavcodec/aacdectab.h +++ b/libavcodec/aacdectab.h @@ -35,7 +35,7 @@ #include -static const int8_t tags_per_config[16] = { 0, 1, 1, 2, 3, 3, 4, 5, 0, 0, 0, 4, 5, 16, 5, 0 }; +static const int8_t tags_per_config[16] = { 0, 1, 1, 2, 3, 3, 4, 5, 0, 0, 0, 5, 5, 16, 5, 0 }; static const uint8_t aac_channel_layout_map[16][16][3] = { { { TYPE_SCE, 0, AAC_CHANNEL_FRONT }, }, @@ -48,7 +48,7 @@ static const uint8_t aac_channel_layout_map[16][16][3] = { { { 0, } }, { { 0, } }, { { 0, } }, - { { TYPE_SCE, 0, AAC_CHANNEL_FRONT }, { TYPE_CPE, 0, AAC_CHANNEL_FRONT }, { TYPE_CPE, 1, AAC_CHANNEL_BACK }, { TYPE_SCE, 1, AAC_CHANNEL_BACK }, { TYPE_LFE, 0, AAC_CHANNEL_LFE }, }, + { { TYPE_SCE, 0, AAC_CHANNEL_FRONT }, { TYPE_CPE, 0, AAC_CHANNEL_FRONT }, { TYPE_CPE, 1, AAC_CHANNEL_SIDE }, { TYPE_SCE, 1, AAC_CHANNEL_BACK }, { TYPE_LFE, 0, AAC_CHANNEL_LFE }, }, { { TYPE_SCE, 0, AAC_CHANNEL_FRONT }, { TYPE_CPE, 0, AAC_CHANNEL_FRONT }, { TYPE_CPE, 1, AAC_CHANNEL_SIDE }, { TYPE_CPE, 2, AAC_CHANNEL_BACK }, { TYPE_LFE, 0, AAC_CHANNEL_LFE }, }, { { TYPE_SCE, 0, AAC_CHANNEL_FRONT }, // SCE1 = FC, From patchwork Fri Oct 28 12:21:38 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: James Almer X-Patchwork-Id: 39028 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:85a8:b0:a2:d5a7:ad9d with SMTP id s40csp754498pzd; Fri, 28 Oct 2022 05:23:01 -0700 (PDT) X-Google-Smtp-Source: AMsMyM74bjcxC0ywmqHycqpWZm/U9rwt/lw15F9/gppKQRUpcd/+Bi8N21aHooe66bLFtLA5L3kG X-Received: by 2002:a17:906:9bd5:b0:7ad:939d:79a9 with SMTP id de21-20020a1709069bd500b007ad939d79a9mr6187230ejc.479.1666959781712; Fri, 28 Oct 2022 05:23:01 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1666959781; cv=none; d=google.com; s=arc-20160816; b=inA43uZnB4utevqukBkhsOYps5+SsTKQJds0CBkAQPoqPqhqzw8Ce3N8sBPjpcB7QQ g3B7hIk9rx9NHdGChxZ6AAaNcCGVHgwogW8mWybFqfInBrATfS9qA33q5z8jANPLtQTK mXpWNa3ucOHB3Kt1j//shKPp3wGTLfTM/X6RpAHwnsBvG5UPy5d3cuHNljE3lZSHB4gO vCljcJjfKWn5rrD/hk8x6vKZtuGHM2Cwtg3NfzXQ+6h0L9gldF0rbi7syxQgzVk3ASk9 8cDGI1lZVVlrwRQ/OWjSx1HvayFEJri83D0//HFhWXZtGdArNzi6ga7pgB2zRnJ38hIS tW1g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:reply-to:list-subscribe :list-help:list-post:list-archive:list-unsubscribe:list-id :precedence:subject:mime-version:references:in-reply-to:message-id :date:to:from:dkim-signature:delivered-to; bh=eUlvNXDbNYYrFlYsyB1eH26dZ/7Vv/CVD1AEm0viikw=; b=mu/6vaNWYb97492IGZnh6iYJ14EJW0bbl1mYDglJj3TPVZa//7I6e0MkTdA+VhATjc JCEu9JMVqOh4gdU7cnFig5aVISJZy3aSEe2nZBAcglxnNnOmrQrFnnlEGiCPpndFdcRt dfCdrJGgX+/kfm/3YKe/cB1GbFw7cB06OH1hnqVofFJaNTZdzv5UeoHLDq1rz9L1ijj8 6YGfUENqnjwdxZFTuh73hBOChyR3TG7ilvFXxPLl9JJBdhjpemwV/Z9G/rTza+oSzWm8 TkG4XUtr5NARE+DhEJSZyTsY5bgTin3uAYhWQtMH2XWPESdNhuY7rgG2/BAe/jpGw1Vk 5wxg== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20210112 header.b=kpV3XoSq; 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 r17-20020a05640251d100b0045c31d9643bsi2136658edd.2.2022.10.28.05.23.00; Fri, 28 Oct 2022 05:23:01 -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=kpV3XoSq; 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 29C7768BCE3; Fri, 28 Oct 2022 15:22:49 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-oi1-f177.google.com (mail-oi1-f177.google.com [209.85.167.177]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id AD56A68BB0D for ; Fri, 28 Oct 2022 15:22:42 +0300 (EEST) Received: by mail-oi1-f177.google.com with SMTP id l5so5952686oif.7 for ; Fri, 28 Oct 2022 05:22:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=T8lolWovMvpOpSGDtXHYGpZj2xXx8muyNWBPynbhMmk=; b=kpV3XoSqCBz96Sw/agF54H+B2fTOIRCGX+iYaM3P+2hENMsjx+oATvtMVpjavnNfAm jgSeAAg7jCPU1P2PSpS9VNk+a6aL3U7vuccRak18xwVsQg3m04ssX3e5NkVHvkRClidM o9eLNFid7H3bIQ7e1KNIyv88UaZ5hUALrxbZk6CJW+CndQTqzzOIteS+9sBjrabzuVGh OqYVZQm54awdWdMvb5Yesx6DocwPDqhvEdqkNkdVAjvXLl/th9GrPSywe3x/H07N+En7 7uPtbKP1Sc5+spJN3a1t4lwme8MIIvh3Yv4zABsKFCR4y65gCruRfLENvHUE0M4cL7Fb xcQg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=T8lolWovMvpOpSGDtXHYGpZj2xXx8muyNWBPynbhMmk=; b=A3zZNVeO0U/pV/FUHd8iUeoElrPrgAZrIVsEZpkgKk0F2fEVRX2XTt15HJDXuQFA6t PvdWdihruzBaUws3E36WNI4rJbn3cuUbRwdz3flfjxcQ/FwgOEkwANVfqftEsNNx5QXF WbM8NJLqrqAw1mVtmIbMtXe/RUyQq5/bDgDUk14Ag+IwJ5Q/AbR6DMSGdgOYKk9xwvaJ V/4WHOj9ejghCW2M23yZWo5MwImAmN6+CigPxQf4ZKiML8HKCmXeWpSVUx3LWJ37UZxg /a9hvF4blZ7S0/kFgqkUmQjrR+Jh27q5pWTeJGlJ39E8lvM1aJ90hVLtNRj7guvf4aEY qbEQ== X-Gm-Message-State: ACrzQf1iSeBOBy/qj1kdG+Bj0jECAzPiVvuyK7ZiHlvZ1tOmFmcH5Tsl wulX6NUf9x2nm/7PUPKv3H/AQ2jcTwA= X-Received: by 2002:a05:6808:1307:b0:355:4deb:e375 with SMTP id y7-20020a056808130700b003554debe375mr7858109oiv.264.1666959760944; Fri, 28 Oct 2022 05:22:40 -0700 (PDT) Received: from localhost.localdomain ([191.97.187.183]) by smtp.gmail.com with ESMTPSA id v206-20020acaacd7000000b0035028730c90sm1458869oie.1.2022.10.28.05.22.39 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 28 Oct 2022 05:22:40 -0700 (PDT) From: James Almer To: ffmpeg-devel@ffmpeg.org Date: Fri, 28 Oct 2022 09:21:38 -0300 Message-Id: <20221028122140.1885-2-jamrial@gmail.com> X-Mailer: git-send-email 2.38.1 In-Reply-To: <20221028122140.1885-1-jamrial@gmail.com> References: <20221028122140.1885-1-jamrial@gmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 2/4 v2] avutil/channel_layout: add a 7.1(top) channel layout 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: qyqWrd76dYMI Signed-off-by: James Almer --- doc/APIchanges | 3 +++ doc/utils.texi | 2 ++ libavutil/channel_layout.c | 1 + libavutil/channel_layout.h | 2 ++ tests/ref/fate/channel_layout | 1 + 5 files changed, 9 insertions(+) diff --git a/doc/APIchanges b/doc/APIchanges index 5807bf8069..75bbcaddff 100644 --- a/doc/APIchanges +++ b/doc/APIchanges @@ -14,6 +14,9 @@ libavutil: 2021-04-27 API changes, most recent first: +2022-10-xx - xxxxxxxxxx - lavu 57.xx.xxx - channel_layout.h + Add AV_CH_LAYOUT_7POINT1_TOP and AV_CHANNEL_LAYOUT_7POINT1_TOP. + 2022-10-11 - xxxxxxxxxx - lavu 57.39.101 - pixfmt.h Add AV_PIX_FMT_RGBF32 and AV_PIX_FMT_RGBAF32. diff --git a/doc/utils.texi b/doc/utils.texi index 627b55d154..d19523a5f4 100644 --- a/doc/utils.texi +++ b/doc/utils.texi @@ -713,6 +713,8 @@ FL+FR+FC+LFE+BL+BR+SL+SR FL+FR+FC+LFE+BL+BR+FLC+FRC @item 7.1(wide-side) FL+FR+FC+LFE+FLC+FRC+SL+SR +@item 7.1(top) +FL+FR+FC+LFE+SL+SR+TFL+TFR @item octagonal FL+FR+FC+BL+BR+BC+SL+SR @item hexadecagonal diff --git a/libavutil/channel_layout.c b/libavutil/channel_layout.c index 21b70173b7..bc0016d346 100644 --- a/libavutil/channel_layout.c +++ b/libavutil/channel_layout.c @@ -196,6 +196,7 @@ static const struct channel_layout_name channel_layout_map[] = { { "7.1", AV_CHANNEL_LAYOUT_7POINT1 }, { "7.1(wide)", AV_CHANNEL_LAYOUT_7POINT1_WIDE_BACK }, { "7.1(wide-side)", AV_CHANNEL_LAYOUT_7POINT1_WIDE }, + { "7.1(top)", AV_CHANNEL_LAYOUT_7POINT1_TOP }, { "octagonal", AV_CHANNEL_LAYOUT_OCTAGONAL }, { "hexadecagonal", AV_CHANNEL_LAYOUT_HEXADECAGONAL }, { "downmix", AV_CHANNEL_LAYOUT_STEREO_DOWNMIX, }, diff --git a/libavutil/channel_layout.h b/libavutil/channel_layout.h index 059ff70841..9246562807 100644 --- a/libavutil/channel_layout.h +++ b/libavutil/channel_layout.h @@ -232,6 +232,7 @@ enum AVChannelOrder { #define AV_CH_LAYOUT_7POINT1 (AV_CH_LAYOUT_5POINT1|AV_CH_BACK_LEFT|AV_CH_BACK_RIGHT) #define AV_CH_LAYOUT_7POINT1_WIDE (AV_CH_LAYOUT_5POINT1|AV_CH_FRONT_LEFT_OF_CENTER|AV_CH_FRONT_RIGHT_OF_CENTER) #define AV_CH_LAYOUT_7POINT1_WIDE_BACK (AV_CH_LAYOUT_5POINT1_BACK|AV_CH_FRONT_LEFT_OF_CENTER|AV_CH_FRONT_RIGHT_OF_CENTER) +#define AV_CH_LAYOUT_7POINT1_TOP (AV_CH_LAYOUT_5POINT1|AV_CH_TOP_FRONT_LEFT|AV_CH_TOP_FRONT_RIGHT) #define AV_CH_LAYOUT_OCTAGONAL (AV_CH_LAYOUT_5POINT0|AV_CH_BACK_LEFT|AV_CH_BACK_CENTER|AV_CH_BACK_RIGHT) #define AV_CH_LAYOUT_HEXADECAGONAL (AV_CH_LAYOUT_OCTAGONAL|AV_CH_WIDE_LEFT|AV_CH_WIDE_RIGHT|AV_CH_TOP_BACK_LEFT|AV_CH_TOP_BACK_RIGHT|AV_CH_TOP_BACK_CENTER|AV_CH_TOP_FRONT_CENTER|AV_CH_TOP_FRONT_LEFT|AV_CH_TOP_FRONT_RIGHT) #define AV_CH_LAYOUT_STEREO_DOWNMIX (AV_CH_STEREO_LEFT|AV_CH_STEREO_RIGHT) @@ -388,6 +389,7 @@ typedef struct AVChannelLayout { #define AV_CHANNEL_LAYOUT_7POINT1 AV_CHANNEL_LAYOUT_MASK(8, AV_CH_LAYOUT_7POINT1) #define AV_CHANNEL_LAYOUT_7POINT1_WIDE AV_CHANNEL_LAYOUT_MASK(8, AV_CH_LAYOUT_7POINT1_WIDE) #define AV_CHANNEL_LAYOUT_7POINT1_WIDE_BACK AV_CHANNEL_LAYOUT_MASK(8, AV_CH_LAYOUT_7POINT1_WIDE_BACK) +#define AV_CHANNEL_LAYOUT_7POINT1_TOP AV_CHANNEL_LAYOUT_MASK(8, AV_CH_LAYOUT_7POINT1_TOP) #define AV_CHANNEL_LAYOUT_OCTAGONAL AV_CHANNEL_LAYOUT_MASK(8, AV_CH_LAYOUT_OCTAGONAL) #define AV_CHANNEL_LAYOUT_HEXADECAGONAL AV_CHANNEL_LAYOUT_MASK(16, AV_CH_LAYOUT_HEXADECAGONAL) #define AV_CHANNEL_LAYOUT_STEREO_DOWNMIX AV_CHANNEL_LAYOUT_MASK(2, AV_CH_LAYOUT_STEREO_DOWNMIX) diff --git a/tests/ref/fate/channel_layout b/tests/ref/fate/channel_layout index 19bcbce7d8..918b01584d 100644 --- a/tests/ref/fate/channel_layout +++ b/tests/ref/fate/channel_layout @@ -24,6 +24,7 @@ hexagonal FL+FR+FC+BL+BR+BC 7.1 FL+FR+FC+LFE+BL+BR+SL+SR 7.1(wide) FL+FR+FC+LFE+BL+BR+FLC+FRC 7.1(wide-side) FL+FR+FC+LFE+FLC+FRC+SL+SR +7.1(top) FL+FR+FC+LFE+SL+SR+TFL+TFR octagonal FL+FR+FC+BL+BR+BC+SL+SR hexadecagonal FL+FR+FC+BL+BR+BC+SL+SR+TFL+TFC+TFR+TBL+TBC+TBR+WL+WR downmix DL+DR From patchwork Fri Oct 28 12:21:39 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: James Almer X-Patchwork-Id: 39029 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:85a8:b0:a2:d5a7:ad9d with SMTP id s40csp754578pzd; Fri, 28 Oct 2022 05:23:09 -0700 (PDT) X-Google-Smtp-Source: AMsMyM4oJBRIwi3fgCKcPczFT3BYbSiBKiDIaWxbVAf6sdPJp5Mofex3hTdKzHKSuXkvzWa05doc X-Received: by 2002:a17:906:9b92:b0:791:9355:cb89 with SMTP id dd18-20020a1709069b9200b007919355cb89mr45896570ejc.498.1666959789572; Fri, 28 Oct 2022 05:23:09 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1666959789; cv=none; d=google.com; s=arc-20160816; b=VBv0aTCkTW4Ki3fhLXZo++2okiLGvWZP64oihL/RWitEXeMrmiOpxpjpykig57crxy uKTjCh89QVPAgDYPpIR1EhANtJKq851j+cpSKjdTqMpSAOWzsRUgEQugL1nU6ATYAj2Q vKJt18R6OVsbIdEcoWKj+LDQsFD4IWGe5PtxZAT7NLWhzXoHuSMT6KLo7ZMkMhy505Jl HSm7gEnvCMACVvTs7yOrEX2CIxdmVCjpASKZWJlco17u9b7vVjAzQlPNHXVgnZ3IJw0f o8d+g47pCzkqFmmsmluXkx5mDPkaG+fSCnPUn6dAXKpO3fIrAMBd1T0DGUBDd8r1Z4vR rwBA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:reply-to:list-subscribe :list-help:list-post:list-archive:list-unsubscribe:list-id :precedence:subject:mime-version:references:in-reply-to:message-id :date:to:from:dkim-signature:delivered-to; bh=T5ASFnDSpumZEUnnHRIZ5eTrNSmC/CG3tboaBHhHKkQ=; b=RPQ4uq34SROvE/xR5c86pg0QcPGy6KTDQMvWtOn/AVRdE8vxfRkntq7wfxFhr5oAcn mhHPPcpa++VIwfXG5cxuI3kOPstM4dUMW1jqxrTbZBI6SZ3ubZ6b8/my5+ZCih1puuAy pM08oO4Ww3PrpSzccBK0sBVjljGa5P2NYJKIXBdkbnQG8o0oRI864O15ff9qSSAzliS2 xExWSkVZRnkvh2u2+UeP8tgBml5G633UrnWa8/PRBDpIJuPkVy36iKK0cc8Pdvf+rnY8 /UcRBAqbXFUdCC8NB81hv7IMpkZ8duOHm3Xb/WFa4AdSbEgO1Z2kdNLyK5zqdNawIU1w 3a3g== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20210112 header.b=Vsvjx5Ws; 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 z17-20020a05640240d100b0045ca15afe1csi4273346edb.553.2022.10.28.05.23.08; Fri, 28 Oct 2022 05:23:09 -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=Vsvjx5Ws; 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 4DC2868BCF4; Fri, 28 Oct 2022 15:22:51 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-oi1-f178.google.com (mail-oi1-f178.google.com [209.85.167.178]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id BB53568BCD7 for ; Fri, 28 Oct 2022 15:22:44 +0300 (EEST) Received: by mail-oi1-f178.google.com with SMTP id i7so5965684oif.4 for ; Fri, 28 Oct 2022 05:22:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=Y0DUU2CDdLxmsW/PR7SscpXs6R0rJXxO7CSpyvexZjU=; b=Vsvjx5WsAKQPsBBsP0HWHTy4dD3hXa/p7Fc0MVr7ck55O1kl/GOC4v4X0L5KiuLC3l XxBDJ/CVCycC27q9Oaadf6s0jGRd5IolKXytSumVYOhCOZSWyYq/5T72bERFjzj3eZVI /OnnBPWq01Ff+H21uxDqDqJVAA7Yu15bI4k61WvWjxw4G21kJy/NtWV0n5q/ZzBAKBt9 ygzqQJlUKzkwD8Zzl3egnghEh9fqRSDkDO2hV7HVwqBsd5Ge1IFWUXCthyaUtxpt/Px3 yH6bnV8XhlusnWBjVNsJORa2QRODkCrKwljUUuuD8SPVF9vy3CZYl+08QAd9kZHB9zZt 3sDQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Y0DUU2CDdLxmsW/PR7SscpXs6R0rJXxO7CSpyvexZjU=; b=5P72DnlQnHCc8hXvM+OpDw0nJcJarCZC4NKIfQ5Cvn+xv+6Oa6IqWNmSjD+uaJP34+ Sd15SSiJttNBxgVb9LJgoUsq8MsmjO+P5P3PA3GX1FhCfk8dPUuj/NJ7WlBwywT4pKOi LqaSRQkBoOPM8X6uVLhjhAouiNbuB8HRxDW1X2naynOIje8XjP3o5MM4ez/h5AsYWWEa kHuGCYrhTzQDd/riiTQOPFLU2KtQQgu1DXkhgvMDndR7igjOrfdTVf96OtLTM+OABDU8 +7obLvSx264KzhbT+TvosxzW5KrLnO0cSzMJkyTMN8SwWIXvzclp7a+UGo3z4YFAEatM eaWQ== X-Gm-Message-State: ACrzQf2KWOgwtXZRJb11mzj7x74vIk9s9sb19TnXagVfv/nCT0WIqybg R9q0rKI62cd/KwZ6IXM3EQz8Xf1hbxw= X-Received: by 2002:a05:6808:1184:b0:350:f681:8c9a with SMTP id j4-20020a056808118400b00350f6818c9amr8041879oil.282.1666959763004; Fri, 28 Oct 2022 05:22:43 -0700 (PDT) Received: from localhost.localdomain ([191.97.187.183]) by smtp.gmail.com with ESMTPSA id v206-20020acaacd7000000b0035028730c90sm1458869oie.1.2022.10.28.05.22.41 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 28 Oct 2022 05:22:42 -0700 (PDT) From: James Almer To: ffmpeg-devel@ffmpeg.org Date: Fri, 28 Oct 2022 09:21:39 -0300 Message-Id: <20221028122140.1885-3-jamrial@gmail.com> X-Mailer: git-send-email 2.38.1 In-Reply-To: <20221028122140.1885-1-jamrial@gmail.com> References: <20221028122140.1885-1-jamrial@gmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 3/4 v2] avcodec/aacdec: add support for channel configuration 14 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: 0GcXEpb0TFBe It corresponds to the 7.1(top) layout. Signed-off-by: James Almer --- libavcodec/aacdec_template.c | 23 ++++++++++++++++++++++- libavcodec/aacdectab.h | 6 +++--- libavcodec/mpeg4audio.c | 5 +++-- libavcodec/mpeg4audio.h | 2 +- 4 files changed, 29 insertions(+), 7 deletions(-) diff --git a/libavcodec/aacdec_template.c b/libavcodec/aacdec_template.c index c10bc743b6..4b8e29ba71 100644 --- a/libavcodec/aacdec_template.c +++ b/libavcodec/aacdec_template.c @@ -404,6 +404,21 @@ static uint64_t sniff_channel_order(uint8_t (*layout_map)[3], int tags) i++; } + // The previous checks would end up at 4 at this point for chan_config 14 + if (layout == AV_CH_LAYOUT_5POINT1 && tags == 5 && i == 4) { + const uint8_t (*reference_layout_map)[3] = aac_channel_layout_map[13]; + for (int j = 0; j < tags; j++) { + if (layout_map[j][0] != reference_layout_map[j][0] || + layout_map[j][2] != reference_layout_map[j][2]) + goto end_of_layout_definition; + } + + i += assign_pair(e2c_vec, layout_map, i, + AV_CH_TOP_FRONT_LEFT, + AV_CH_TOP_FRONT_RIGHT, + AAC_CHANNEL_FRONT, + &layout); + } // The previous checks would end up at 8 at this point for 22.2 if (layout == PREFIX_FOR_22POINT2 && tags == 16 && i == 8) { const uint8_t (*reference_layout_map)[3] = aac_channel_layout_map[12]; @@ -633,7 +648,7 @@ static int set_default_channel_config(AACContext *ac, AVCodecContext *avctx, int channel_config) { if (channel_config < 1 || (channel_config > 7 && channel_config < 11) || - channel_config > 13) { + channel_config > 14) { av_log(avctx, AV_LOG_ERROR, "invalid default channel configuration (%d)\n", channel_config); @@ -717,6 +732,12 @@ static ChannelElement *get_che(AACContext *ac, int type, int elem_id) /* For indexed channel configurations map the channels solely based * on position. */ switch (ac->oc[1].m4ac.chan_config) { + case 14: + if (ac->tags_mapped > 2 && ((type == TYPE_CPE && elem_id < 3) || + (type == TYPE_LFE && elem_id < 1))) { + ac->tags_mapped++; + return ac->tag_che_map[type][elem_id] = ac->che[type][elem_id]; + } case 13: if (ac->tags_mapped > 3 && ((type == TYPE_CPE && elem_id < 8) || (type == TYPE_SCE && elem_id < 6) || diff --git a/libavcodec/aacdectab.h b/libavcodec/aacdectab.h index b820f10556..e9bbd1fe13 100644 --- a/libavcodec/aacdectab.h +++ b/libavcodec/aacdectab.h @@ -68,8 +68,8 @@ static const uint8_t aac_channel_layout_map[16][16][3] = { { TYPE_SCE, 5, AAC_CHANNEL_FRONT }, // SCE6 = BtFC, { TYPE_CPE, 7, AAC_CHANNEL_FRONT }, // CPE8 = BtFL and BtFR }, + { { TYPE_SCE, 0, AAC_CHANNEL_FRONT }, { TYPE_CPE, 0, AAC_CHANNEL_FRONT }, { TYPE_CPE, 1, AAC_CHANNEL_SIDE }, { TYPE_LFE, 0, AAC_CHANNEL_LFE }, { TYPE_CPE, 2, AAC_CHANNEL_FRONT }, }, { { 0, } }, - /* TODO: Add 7+1 TOP configuration */ }; #if FF_API_OLD_CHANNEL_LAYOUT @@ -84,8 +84,8 @@ static const uint64_t aac_channel_layout[] = { AV_CH_LAYOUT_6POINT1, AV_CH_LAYOUT_7POINT1, AV_CH_LAYOUT_22POINT2, + AV_CH_LAYOUT_7POINT1_TOP, 0, - /* AV_CH_LAYOUT_7POINT1_TOP, */ }; #endif @@ -100,8 +100,8 @@ static const AVChannelLayout aac_ch_layout[] = { AV_CHANNEL_LAYOUT_6POINT1, AV_CHANNEL_LAYOUT_7POINT1, AV_CHANNEL_LAYOUT_22POINT2, + AV_CHANNEL_LAYOUT_7POINT1_TOP, { 0 }, - /* AV_CHANNEL_LAYOUT_7POINT1_TOP, */ }; #endif /* AVCODEC_AACDECTAB_H */ diff --git a/libavcodec/mpeg4audio.c b/libavcodec/mpeg4audio.c index e38a8c0852..4a996411d1 100644 --- a/libavcodec/mpeg4audio.c +++ b/libavcodec/mpeg4audio.c @@ -56,7 +56,7 @@ static int parse_config_ALS(GetBitContext *gb, MPEG4AudioConfig *c, void *logctx return 0; } -const uint8_t ff_mpeg4audio_channels[14] = { +const uint8_t ff_mpeg4audio_channels[15] = { 0, 1, // mono (1/0) 2, // stereo (2/0) @@ -70,7 +70,8 @@ const uint8_t ff_mpeg4audio_channels[14] = { 0, 7, // 3/3.1 8, // 3/2/2.1 - 24 // 3/3/3 - 5/2/3 - 3/0/0.2 + 24, // 3/3/3 - 5/2/3 - 3/0/0.2 + 8 // 3/2.1 - 2/0 }; static inline int get_object_type(GetBitContext *gb) diff --git a/libavcodec/mpeg4audio.h b/libavcodec/mpeg4audio.h index a6f71cff58..56615ef321 100644 --- a/libavcodec/mpeg4audio.h +++ b/libavcodec/mpeg4audio.h @@ -42,7 +42,7 @@ typedef struct MPEG4AudioConfig { } MPEG4AudioConfig; extern const int ff_mpeg4audio_sample_rates[16]; -extern const uint8_t ff_mpeg4audio_channels[14]; +extern const uint8_t ff_mpeg4audio_channels[15]; /** * Parse MPEG-4 systems extradata from a potentially unaligned GetBitContext to retrieve audio configuration. From patchwork Fri Oct 28 12:21:40 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: James Almer X-Patchwork-Id: 39030 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:85a8:b0:a2:d5a7:ad9d with SMTP id s40csp754648pzd; Fri, 28 Oct 2022 05:23:17 -0700 (PDT) X-Google-Smtp-Source: AMsMyM7VBCqa+6r/+t+Pcq4voBVSbJ0z90ZmwNxVWtXeTHTUBOwUrvkWlr1T5nlDI8Kq4ULh6qhQ X-Received: by 2002:a05:6402:3408:b0:43c:2dd3:d86b with SMTP id k8-20020a056402340800b0043c2dd3d86bmr50563967edc.108.1666959797364; Fri, 28 Oct 2022 05:23:17 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1666959797; cv=none; d=google.com; s=arc-20160816; b=SPE+G6nr7T6Yxz7sXQXFrMq/kn/1x3WxCYRaH8S66l6s+ZDML90l2ifb/PQaU8b56t QuaVOuz4kwvluP3KQFIdaUYzV9t75hcdtxML9EdeblnyNB0+SvqjmYZwWgVHXRsFFpJP vHkeBq+pIfKxpiqYc4esADrwrna+kbnqeV0ElMj0ke/hE65K6vLEwgsWsveVbV84o288 BkWm1bwjze/jZLI7Gges48xcOiRL4pVqBDvQqzBkr8NLrULneiG+cKzIQKmzo3Fu+zSY VSrlM+dRboTUN/lLmaWi983c+dwr2E4/IDVnEPj6fOdcK3yATh+iwBEHvlVe5Vzrtzdt fpqQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:reply-to:list-subscribe :list-help:list-post:list-archive:list-unsubscribe:list-id :precedence:subject:mime-version:references:in-reply-to:message-id :date:to:from:dkim-signature:delivered-to; bh=DU7oqctUONw4H+K4FFKRzo3WWuf5r6gNNjCj0kn8+G0=; b=k+Gy0IrQi+UpQXWEWDBVC4BvV4NUyl0wHhYbuu/tynKzru0pWtwVSyo4iVgxlIQfYB 0tQyK9MQAN4jdjhZl5rw1w/tNbQW+yBtxM9K0rAU4b6kEoBPIb1+eVpgp6CXVxqVAyBr Sib7HX7anOfcjVygylEspiUTStPKuwLBnju69Z4wIyDXLkj/SGXSBE/9LRvnedcJKPty +m8mIE7bjDXyBNTekM4WAZ7bZMIjBxi9+cWszi/iqKqFAs0B8qOszT15/3KybuQWxhuQ J7b1Hb7HS2dYOheOAqPEXCFcBVzD1d8KIHOEM+n5fTlhu89HQp+TMoHU5duQpOcq2gUh SLhg== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20210112 header.b=BFW7XLOZ; 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 ez15-20020a1709070bcf00b0078dbec0aa81si3504652ejc.214.2022.10.28.05.23.16; Fri, 28 Oct 2022 05:23:17 -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=BFW7XLOZ; 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 5ECF168BCFA; Fri, 28 Oct 2022 15:22:53 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-oi1-f172.google.com (mail-oi1-f172.google.com [209.85.167.172]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 4514768BCF0 for ; Fri, 28 Oct 2022 15:22:46 +0300 (EEST) Received: by mail-oi1-f172.google.com with SMTP id u132so6015906oib.0 for ; Fri, 28 Oct 2022 05:22:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=NxRLMlzzB4DBglSzM7/sGg+p6x70hoQurK3SfdJQVco=; b=BFW7XLOZkJ5Sa3Bt2NHthdMP6NL59BIM2iP46QQSvgDoe6a/6xMGSsa6APMz7wXYY3 ua/+FWBNVJVfG+R3IlOEtP0egzPXOjvG69INp8PD0l5KkpYQIujnoTZCK44ZjKoXIWuP jS1QseG9YgnGoB1FY3UfrwQfa962gx81lIykxLJXeSZLUL6CjyuEStvpv5GKzq17Oog6 MIQFvvXcnO71TmjiUczbZa/pGWzZiJ4z+Al22nyk9ge+Dx+P/xpf6BpsEYlsdFS1L9nb f5398o1jANyG044CexrndpIxRAxDuorCMhsDqmLGJUvkRYvz8zeirVS9suqVbHrJOMcy EcjA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=NxRLMlzzB4DBglSzM7/sGg+p6x70hoQurK3SfdJQVco=; b=iGPdeOWUnBIBrC2EjMLbkcSQzd1RVBB1qgCTXIRr21KRW8KqQRSCTnhO5AaKU+jQB2 LPHm87+/znzy8oXnSIACemLvZmAsvD8pjf7esMnLVrMEr3J5DnOMaRr7k9hgLt7K6tGX azgFesEzmBZMvrV2OKFxPsYeWBN8o8NZ0eHlB2SBlk+ZNParmyHaCuXqNimsJgr0a1Ss Wc9jAtRctrTVQmBLWW2dcKvp8VJMGrY8PScOIv0EeshIkshlI+oNRpABnommKXz9lAgh d+ra29kXOMUv9T62COwvB/7mNAUd+pTQMFHYWPXsboqNsxVdlUTGP1nypa1RdBZYbCuT p3Vw== X-Gm-Message-State: ACrzQf3PZykTPWz9cOdkIVg12E4DmwLGGRcszlTpEhxR13XNaE2JzXZq luoJSr6Efuh6e1AVwogy7Sk7M8T9RJc= X-Received: by 2002:a05:6808:1405:b0:355:7603:fa57 with SMTP id w5-20020a056808140500b003557603fa57mr7661544oiv.82.1666959764683; Fri, 28 Oct 2022 05:22:44 -0700 (PDT) Received: from localhost.localdomain ([191.97.187.183]) by smtp.gmail.com with ESMTPSA id v206-20020acaacd7000000b0035028730c90sm1458869oie.1.2022.10.28.05.22.43 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 28 Oct 2022 05:22:44 -0700 (PDT) From: James Almer To: ffmpeg-devel@ffmpeg.org Date: Fri, 28 Oct 2022 09:21:40 -0300 Message-Id: <20221028122140.1885-4-jamrial@gmail.com> X-Mailer: git-send-email 2.38.1 In-Reply-To: <20221028122140.1885-1-jamrial@gmail.com> References: <20221028122140.1885-1-jamrial@gmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 4/4] avformat/mov_chan: add missing AAC 7.1 mappings 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: /Vut9OYUhtjH Signed-off-by: James Almer --- libavformat/mov_chan.c | 5 +++++ libavformat/mov_chan.h | 2 ++ 2 files changed, 7 insertions(+) diff --git a/libavformat/mov_chan.c b/libavformat/mov_chan.c index 5b757c6a8a..19da01996c 100644 --- a/libavformat/mov_chan.c +++ b/libavformat/mov_chan.c @@ -186,6 +186,9 @@ static const struct MovChannelLayoutMap mov_ch_layout_map_8ch[] = { { MOV_CH_LAYOUT_MPEG_7_1_C, AV_CH_LAYOUT_7POINT1 }, // L, R, C, LFE, Ls, Rs, Rls, Rrs { MOV_CH_LAYOUT_EAC3_7_1_A, AV_CH_LAYOUT_7POINT1 }, // L, C, R, Ls, Rs, LFE, Rls, Rrs + { MOV_CH_LAYOUT_AAC_7_1_B, AV_CH_LAYOUT_7POINT1 }, // C, L, R, Ls, Rs, Rls, Rrs, LFE + + { MOV_CH_LAYOUT_AAC_7_1_C, AV_CH_LAYOUT_7POINT1_TOP }, // C, L, R, Ls, Rs, LFE, Vhl, Vhr { MOV_CH_LAYOUT_SMPTE_DTV, AV_CH_LAYOUT_5POINT1 | // L, R, C, LFE, Ls, Rs, Lt, Rt AV_CH_LAYOUT_STEREO_DOWNMIX }, @@ -276,6 +279,8 @@ static const enum MovChannelLayoutTag mov_ch_layouts_aac[] = { MOV_CH_LAYOUT_DTS_6_1_A, MOV_CH_LAYOUT_AAC_OCTAGONAL, MOV_CH_LAYOUT_MPEG_7_1_B, + MOV_CH_LAYOUT_AAC_7_1_B, + MOV_CH_LAYOUT_AAC_7_1_C, MOV_CH_LAYOUT_DTS_8_0_A, 0, }; diff --git a/libavformat/mov_chan.h b/libavformat/mov_chan.h index 93d9878798..322fdecff8 100644 --- a/libavformat/mov_chan.h +++ b/libavformat/mov_chan.h @@ -135,6 +135,8 @@ enum MovChannelLayoutTag { MOV_CH_LAYOUT_DTS_8_0_B = (179 << 16) | 8, MOV_CH_LAYOUT_DTS_8_1_A = (180 << 16) | 9, MOV_CH_LAYOUT_DTS_8_1_B = (181 << 16) | 9, + MOV_CH_LAYOUT_AAC_7_1_B = (183 << 16) | 8, + MOV_CH_LAYOUT_AAC_7_1_C = (184 << 16) | 8, }; /**