From patchwork Sun Apr 14 18:30:03 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 48054 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a21:670b:b0:1a9:af23:56c1 with SMTP id wh11csp1407426pzb; Sun, 14 Apr 2024 11:30:49 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCVz/g/jf/fErs5s8V8Itr8QH0iBih9q8JySgJpjQ+4crs4cOnlFKmAtN9NUzlKojRomNUbdx3ibwp71trbgxMYtOSz0CL49C9awtw== X-Google-Smtp-Source: AGHT+IFJgO1IU9mNoRPCkQ/9vqvht9kC/QPnAxXQfo8ejP0YSSJhPHgYXMSRfzHszfhVjAq7wwc2 X-Received: by 2002:a17:906:e06:b0:a52:6a9c:9ef5 with SMTP id l6-20020a1709060e0600b00a526a9c9ef5mr439253eji.64.1713119449291; Sun, 14 Apr 2024 11:30:49 -0700 (PDT) Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id s1-20020a170906a18100b00a51ab69de4asi3957684ejy.998.2024.04.14.11.30.48; Sun, 14 Apr 2024 11:30:49 -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=@outlook.com header.s=selector1 header.b=Fqy06NKb; arc=fail (body hash mismatch); 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=outlook.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id EE2B568D3AF; Sun, 14 Apr 2024 21:30:42 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR02-DB5-obe.outbound.protection.outlook.com (mail-db5eur02olkn2085.outbound.protection.outlook.com [40.92.50.85]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id E8C8A68D3AF for ; Sun, 14 Apr 2024 21:30:35 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ZVvLQG50+wN0bFYP+109g/lWyj2S/qHp25CyQqaL4iw/nkAS8wWY0g34MYW+FAEmfEK5zLu6tWrn4rPpr5zagwhGsNtY2PtP9ywzUj+rINxAljTNYS2SKn6XFoS0qCSpTosrf1LbvoH6YMaEnj+L1YVPURehUAXt6FpXH2tQW/SHEXCHX9vvzXqOGLDXpxDwr6z+WdHznsnkLC6Lg2v5ur8w2EBWeWDRebTz10rX2eR2i9q/ws+vtaGY11SMJXlyOFX2iaAlPOSZo2wUAOQJWyg4hqACNq6DC641feeJCzp6/nKrhQ3XHBCneO4DhH7tuREzH2iBsXAU/Mq52F0Spg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=mMI7ePbOq/VL/80qNoTixFWRT7XIr3AU9Qqygk/dJL0=; b=Otzx/Wub7Ch2opIbxgp9RfxFiuwZc4Pj3BDX6Vp1KGHfobLE49t0OxisM9ktiRHwrHmtL7jWOolKB7BKUZ0S+PBPUXcrXwUDT2tdT5sweeTmn8Yyrk45fIzzA23LkHId0uOTuZI4xhbw8w/6J47G31fyx8QYxIWU4CfnG87zw/pvA/qXUW4xNa4ouD41VKrVUv9Nad3fTbTIywjY+c42bX8/dcFtXFvhHvb5tp04xCrgEfsx+bKXeyNzNZEQHfbf/CU8WyV20AOLNbzN2gHN4vTCQCKi1HgxW/yV15bAabMmpqvt0tkN2FcoUouMfQ0rgx9SHzGqQIKkc5wSuRseTA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=outlook.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=mMI7ePbOq/VL/80qNoTixFWRT7XIr3AU9Qqygk/dJL0=; b=Fqy06NKbh/gCYXwS32T+QR/1s+stgOZQyj4RHwM6+3R5rGl1WlSQXMj8+svZggcjS9vi48W8Goj2ZUE9+GWDqmC3SSYwW3c9bpjMT6fOsWOlfupA/OQ/mP4hynLhU5uUOCgR3AktrsxGm89PP74hgh45kxc62yibsgNfjxK7mnXCCb3ghr93S1qGO9mV6V/IAbBkCAI/G6y6RJpNITKG0VbHNO9leHpGReXZNLZu29U9/Dj15PD4jvk8rxSmEKwnKgd/Zh3TwWj03lZJcq++L1uLIfrG+k6HJEu3/TQugaqMnt7/7h8fWhVmPyo0rdWHfdomdfXf6M/ael1eghJ81w== Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) by PR3P250MB0305.EURP250.PROD.OUTLOOK.COM (2603:10a6:102:17c::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.55; Sun, 14 Apr 2024 18:30:31 +0000 Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::1f29:8206:b8c3:45bb]) by AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::1f29:8206:b8c3:45bb%3]) with mapi id 15.20.7409.042; Sun, 14 Apr 2024 18:30:31 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Sun, 14 Apr 2024 20:30:03 +0200 Message-ID: X-Mailer: git-send-email 2.40.1 In-Reply-To: References: X-TMN: [34YHt3fKUdyynzq7jMJ5Nfuc8qsLQ1Vn] X-ClientProxiedBy: LO2P265CA0374.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:a3::26) To AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) X-Microsoft-Original-Message-ID: <20240414183005.3201646-3-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS8P250MB0744:EE_|PR3P250MB0305:EE_ X-MS-Office365-Filtering-Correlation-Id: ce7fcf70-32fe-410a-f85c-08dc5cb0f762 X-MS-Exchange-SLBlob-MailProps: quCBMN2EvO9EDxo7zA78wT486JQYApETTXqa9QlwrD364p/crh27hiq9v4IfAUvauE0YlN7AyqktVsfI9Sch1LtxH/31tJ3weYfwi8TamYMBtQOa3Q2wDafTGh+sKUKj7XqHN4/Cwy7xAUplQZlVYsm5fKTYs/7uTj9Fb07LxdmNPpQMSJ8+y01KAdmd5wq4dRvj9bIDsS+EUSky6HZZQ2PeIrDGAt2k7sCKbH8b2z64GaXKhHJTgQI0M2u7B7MQJPgv5JTQ79g28HCOJ+HtvyVrut/DKCBQnT3AJhFy7iNTMSsu/eygZxpGv2pUQfJ/yMNKwhx2Vmo1q3v7MSor+uHcyFMNbfin1OT1TneUc67duwnlg0ce/HiJgeiyE5I+ioBnjkiFmSdpRzzad3N9G5SKLXVFwwGQiAHh82wSDNemRxXJAa0lcz4S5K8kbbGz7M/AlCtDaZKqdKaV/j6jJjyNbE2+KJ4qfbYsfdebOwwTbP5uWqHIT8T5Hyvq4Y/9c2mcQWg34Ovaf884SzWhQJO4Ql2ASVxqu6vRcKYmLxgOJ9KKhK12Blrwd9sWeNQGtq4Tkl7GvJGbr5ncAvw38J5M3SSEN9urtKDuexyMbQGZtPaVwFxOeP/D4oN5d6lUBCswLgTw8XqwG2M6LvEDEtUK1kiF8y+rSdkcdsjeyd/LFN8L4mytpSAI2KzI2fNMGjcOs5PI8Pq+V66o5zg1uA== X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: +SJPoJSukSEuh/mVTyQTh9QaZ7mZYex/FL59IB8AYY7ywbnmDrq4PW9t35GHMvQVbSZTcKp9FKvip9lN03JzQngxSeTwDrOCJq7WjoYZZoniei0S30USkILO34qmU6hWhgjL9rlxr2kBLpxlPhR9Tj+GRmD2kLt8mP1rqN7CCoKrDr8RysP/gLiHDzL2dIzFVqEI8JiVJOnlKMToNSw+2zXCjQfKkEITAXLpzgy0hTe5pDgJaHEM52P5kMW7j5U5WDJZghSOmxvIK8kiN6/fJAeDiUzXZQqFw5rv75C1J2i7lzTT7l7l1vBD7e8y+B17hYJcffGkl+NN4hGIxk5rvjuC7TSp1UZOMokHsu5LG2ElOe1+Tp4Br6PgShTJVPuerxK91wV7dIWadVRmTC8MgpQ2MEypDAkggNEA+L0REdb3s+vVi8sQ7xNVoPsSbf7mcwCNTbykoajEPxWeU0hdAOJIKTh5FthnbltLMwErYHK8trNP+PnWpZNS+OOrK9M8AC9F0Olq7Zeg+jISCVstaz1X6fjNRsScVbKCOraXHZiC8YcxmyqjJhO0EPCOXytLU0fHRzM8qxPhzAsXVbjtnFJ4MIVnNFEw2sJGEEeW1enFKXruIX7o/MCWAgWViXS6 X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: YGSivH9RQFVgSkk4nnX1IO2VRHczJoGmreVblb3jMVaOn5Zq+uDIM+7ZTk8BZJlPFxT0oS78S8Kg1Vz3ZKSVdniV1+4Qm3lG+1s1LjBvAe3OHLRQoVZpKykf0yAZmVXvYE1ZqMoNyCwr6L68/eTMeuVkjdb9w4VtqciwhdDZflE51BctSdzw7SjnzTlBzGz+KP9zUJY1rqmv+JR9XPCzIl5c+Zga3Arw8QG6aa5vJgQCGsIQl/zmRGjwI1CH9lMlyZ7NTNWpMbBudHiPdQtFYICkG97a19c8ILNyVBWfpYVzBkM1wLLpUe8NYZ39IPFaMNlKq2wuhI60IM6C6YJXec4LMqilv3hybKwIRG4QDtTvx9bu67JHpFxw5hW2Z4Hn7MI2EleuQSgQGFVLWEyIlc0uCa1fr2vkJLqgAQJf1YF0o8NIBtsQCwPlh1JokFCQ5W5U/sHICxXgW9uve+wSBQHUsBuibYi1PN2ccC984Z9Rjh+jS+u2Mb9Ih0Q/kqyB//AqnbSHclxPWg5lrQPdMGE6KApHNYb1sHMOZOIrhREASKOY6MDrpcHRv/q9ubvBPIunG05Ztg4P39coF41px6GjKIFPPrBBe631h3BKunfjkQiVzsRvCxa6RG3SYQCQ1hEdVZluJA4mu1olHhatsroN0BYY63t9fMxIc0tO2+1ieSeHYz6vCdhuRIjox+IlgXBYSBVMrcNBbyJay/Rc+gVU+wNZlO6sNDvza/owOu46b8qGSm70G10JlCqCSGaFC9hCMlGEypA09AoJwPIDG0rTwdMfHTo7wyQ3krw1CYHTAzEIHA51ccM1RlcpnZwOUCM8QGU4Uos5F6nwHjOdp8O0EKBgGByG18vXtzN3U3Gqq9d1YTOUbpTh3E9/TUTJ49IhEMlY7q6f/K2llVhAbp44yrWEA+RIv5XYxX+BwTkwJRPijL/C0zFwd+qJsISq8WvWwYWPsUmW6gCjALA+TdFfKcVkaeBTmsR5C3Zx4qdtbsjizW4EhcduYsLhP2CMD/5N1F9b7ZlFGTy/q6buXojfxHZLHAL7epYe1hYeQRZzZju/puE79Ynr+yZnTYtC+FYmmWdkz2fL6/NLLhxuTag4/2DB8vu30rHVuldsxQqAfEjNnrW7bxDtEOEUUhdAHT07+w9yB9WgL0usY84h+p3U7guXt/pWG5JOhTFjirsLF5WoVe50ebZa+1VO94IDNTHFSSNQYwUa3eaFglVZTL+RTi91RBaH3ZxoZpwmAVFu0sFoi+CgKaJbBJa6Ikrz0GiRAJKmxC6fD6BX0z1sBA== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: ce7fcf70-32fe-410a-f85c-08dc5cb0f762 X-MS-Exchange-CrossTenant-AuthSource: AS8P250MB0744.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Apr 2024 18:30:31.6046 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: PR3P250MB0305 Subject: [FFmpeg-devel] [PATCH 4/6] avcodec/ac3enc: Combine loops 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 Cc: Andreas Rheinhardt Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: YmD4GOMTkkgt Signed-off-by: Andreas Rheinhardt --- libavcodec/ac3enc.c | 24 +++++++----------------- 1 file changed, 7 insertions(+), 17 deletions(-) diff --git a/libavcodec/ac3enc.c b/libavcodec/ac3enc.c index 1ef670622a..eb878afc7b 100644 --- a/libavcodec/ac3enc.c +++ b/libavcodec/ac3enc.c @@ -2459,6 +2459,10 @@ static av_cold int allocate_buffers(AC3EncodeContext *s) !FF_ALLOC_TYPED_ARRAY(s->qmant_buffer, total_coefs)) return AVERROR(ENOMEM); + if (!s->fixed_point) { + if (!FF_ALLOCZ_TYPED_ARRAY(s->fixed_coef_buffer, total_coefs)) + return AVERROR(ENOMEM); + } if (s->cpl_enabled) { if (!FF_ALLOC_TYPED_ARRAY(s->cpl_coord_exp_buffer, channel_blocks * 16) || !FF_ALLOC_TYPED_ARRAY(s->cpl_coord_mant_buffer, channel_blocks * 16)) @@ -2482,24 +2486,10 @@ static av_cold int allocate_buffers(AC3EncodeContext *s) /* arrangement: channel, block, coeff */ block->exp[ch] = &s->exp_buffer [AC3_MAX_COEFS * (s->num_blocks * ch + blk)]; block->mdct_coef[ch] = &s->mdct_coef_buffer [AC3_MAX_COEFS * (s->num_blocks * ch + blk)]; - } - } - - if (!s->fixed_point) { - if (!FF_ALLOCZ_TYPED_ARRAY(s->fixed_coef_buffer, total_coefs)) - return AVERROR(ENOMEM); - for (blk = 0; blk < s->num_blocks; blk++) { - AC3Block *block = &s->blocks[blk]; - - for (ch = 0; ch < channels; ch++) - block->fixed_coef[ch] = &s->fixed_coef_buffer[AC3_MAX_COEFS * (s->num_blocks * ch + blk)]; - } - } else { - for (blk = 0; blk < s->num_blocks; blk++) { - AC3Block *block = &s->blocks[blk]; - - for (ch = 0; ch < channels; ch++) + if (s->fixed_point) block->fixed_coef[ch] = (int32_t *)block->mdct_coef[ch]; + else + block->fixed_coef[ch] = &s->fixed_coef_buffer[AC3_MAX_COEFS * (s->num_blocks * ch + blk)]; } }