From patchwork Sun Apr 14 18:30:04 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 48055 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a21:670b:b0:1a9:af23:56c1 with SMTP id wh11csp1407462pzb; Sun, 14 Apr 2024 11:30:57 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCX1Rmtu+o9M+rk0AXXza0y5dqoDkYDbv5BOnUxnLUP25ZRKEC46YKr6W/3Uev6vAnM4cT7lk+vX5O91ld64QiiI6JvT2i0aeFHfdA== X-Google-Smtp-Source: AGHT+IH6HuqWmbZ4SunwaAIGNfCqSwncJ9UMIjzXd/t2kCjR+1BjYrSAgs8zw/Kbb4O+9xzUISP3 X-Received: by 2002:ac2:410a:0:b0:515:bacd:adbf with SMTP id b10-20020ac2410a000000b00515bacdadbfmr4698497lfi.34.1713119457131; Sun, 14 Apr 2024 11:30:57 -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 sh16-20020a1709076e9000b00a51b83ce8aasi3738615ejc.493.2024.04.14.11.30.56; Sun, 14 Apr 2024 11:30:57 -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="UWUiQ/Ty"; 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 0490968D3D0; Sun, 14 Apr 2024 21:30:48 +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 1CF2068D3C2 for ; Sun, 14 Apr 2024 21:30:41 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=WNJB0KFnXbAVdoxdSSqDWpN+21VB1zYPP1yl/O2TwgaK65NT7E4FwsLLzn6FEvpZyeAUYmKs4pRDiq2KPCFBNNvwGrVoIenJ0nxs0kz/zoa/u/LBPLp9aFmruCajT09lZJEO292rlouPVY4P/yttTQ58hbOilvWTBrokFo4DBpNFAwkBlWerJRySoODiZpUJWb/qtLX1A9Anw5tMPHCa/+heTuJd1R4oEDEPBLY5SU9a5pzPFjcNb6gAmPfBhiT3vSYe11SHMH118qda6Vk7EqgJOHRIowDYcDaXrPi0n5OqkotvKrv7p5Klpwpc5hY9x947jmJS1Er2zHsWhfYc+A== 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=0kMaXPbn+ObfRMtZfrSD/HMwsS1rc8lf3ySIrFKvhHw=; b=BtNzPkOPkwioZU2vMjKKouP3/wmmLa0TM8jYW3Hs0ZuM/zBmlFzOX8vw0qxDlBG/VgQcyT7abIxIwVoz6cUL5Em9jZacwb+kse+m59/7mA5ga0ZqPeag81NlyTsT/L1uVqdKld6XJLeyHhkXniDGiKZcv5JwXTmCpJ2U1BuzIPZNfruB6IdAbgEUoR0ZYcPEhivS3dmV79LYzfz+6FdSK7qxB3tXQmtuvc8hFfN3eXhLoRqpjbIGWhmycsBWSjIfFeABQN0q1ec3NAOKXbttXyYzXYzc5NShgxPUtTyA7rK5oyvOveBPEfGUHSmAAEOGzwpcU7ZgjcAb1pWGLT1yQA== 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=0kMaXPbn+ObfRMtZfrSD/HMwsS1rc8lf3ySIrFKvhHw=; b=UWUiQ/TySDWUUN0AkHS3m7DmqcxDq1lg1k7CEkuW9PurGL7yXyixGumDnfE7mnzMjBY7VZjhtq2iQzMHT7t0WX4008xUI618e4t8mRhC4iC+Uc4OGIZDRG58OoQjCLXofcuVeBi/sBlzIlu6X/A91kq2qzTn8uBm+zlv8kdr5VyRFQRRoL/Nm1ltpXazA9PwjbKn/8ZVVbN6/I1/5gy00FWQfGooK7oVXavU+gT05xEvpyEpWJgXZXlNlBTaXWD0ynKnGwEbrTiiBe6QjokGwVg+v977xDLunRlec8oa3JWVlhRZ3gAoCo0StFN0mK25Vwh0AeGbswkBKCfnzfFjLw== 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:39 +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:39 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Sun, 14 Apr 2024 20:30:04 +0200 Message-ID: X-Mailer: git-send-email 2.40.1 In-Reply-To: References: X-TMN: [MyN7b7bhqT6ogGsme4Xx7vheVYTMWEN4] 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-4-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: 1f7606a2-c1b4-4490-58d4-08dc5cb0fc49 X-MS-Exchange-SLBlob-MailProps: 9IecXKUgicBjqiCWzr+pRkDdXxvh1/bAE5/S7jafgV8DMl4KAM/0PKweOBhdLi0cQnBqOyvuoB1BfmPnRpn8jX5BSp9W2PjK/gdUe+D7MqxEoLp6tgWInwneG5zFNoxIvZ2W2dnsHNGkJfz8ivhtQrzI7mdY1sFeuEoh/nigmEVIhOvxVCGxCkbdlkJfZyRHmlhXzQUYRcTUQcGEmnBzDsDskERp1sJbnBHDlqcd5I4I60OjWm64+Pu132f8elNRft4oaf4SJrjs0gPFS1qf4yVaGDaDP08kTqLhmyghnqEzRP2a/H0V8HL8NjHm1suQwlYNS78YcoEWNzZVFSui8l5DPHjQyvoqtwIv65vEMlD/gV8Q8P9pLjCe4F+bkpbgD2+nYuMLyvdD1drKnkMOzDROmfRfQeZSfmjNL+HSGNPUR7GG9DOHrh3WlyHk0cGKpjtsWHQRciDyypxpZTRtcC30sbQX1Td8eH8urvTNvRJdFW2/hiIoF2nsFkeOk7DUm7pSfxuQTikdmzYCft34/Xa9KhxMr9K4YLop4hhL/gKe5URCNo4312tPj0S/63KpcmPcuFvc8nkfrAaKNowjmQcZhVxYUQTAuTcNo6HIuvpzKs/ukHQk8CCzmqvCFHTTKUwiiZjcXry/80Vzyq+y+AdnXT7DKJHUfkObZpxUWLUKdGE/c7ExtlMbSsPZj4UtDnCX2Ad+671uhhMoSW/6BL+5aK9wfutBHfrVhv5LS6w22slctdj5KA== X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 5un6PSsop3KlmcgJk4pTgLOPe4oKthtlQAX2FRlVewQu9s4uvSQEEWQBWBrqjH8/EIRm+pFqTuNRGWsQgB4bTVc/aOzXgFtptck3xZ//IWq/Jve1tXvgLROVi4dniaao4jIzefqeQgUs3sO4XddB/eFZq0uRtDMLEIEwd2sbUsdZHrX4ujO3fia7NyyaiqSK2VgvHOi/fE0J5RFXwEumZ9j5EbDv2Do77h3eHj4Fwtqm/53b8MBoNswTdc3V/IKioTBWd7BzAhlN+hAOX7AUVGRN3zjZWLy2dCFaTBxntbEK3pVanCv25EZJK/An3Q4imM7PmgMLaINKg6c3M+LemG1dMsRYPgPIfE3c1ZoDc2Jw2ASM/hhVJULiSqcUZG+dfCQ1uf9E3Si59S+X3T6AOzTA0/UDcomBoRqtOztMgmbt504wKsYMxkPWWndsKFmZ3/SmYy28PUDMRlbTin+hg4F1drvxr5yy3X8UYdzt58pgCSZwy1CUg9F+TH3yztjSWy1IM7JG5EXV2U7SztXDfoJjT8wsF1PZlqpSCumigsGKjQ0ggSocqb7S4wMY0+3ZfQiQhLq9Bi26XOJX/0TcbZLiLppJfilssMnA7Z5ltZ6AGMlf8hFps7yxq9wIaVNh X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: WHfZjcLPxqCJ4Ent95g1KX7PPs9/cm+HH8cb3jua8EbUUCpOyLMW0BdVlWVvdOcrKD6VEYV1BXHasgachxOIUB9lVAXX4H1mKSukl9/QFQsQeXVyGRJ/MC62ELLTLC/cCKVuhlD8YIjMHugNZmBFtophwzhR+v6wH9hxU6lcBclYQnPEFyq7TC1nzQenZr1XCtJgG2IAW82iuLOIkstC/7ItBz+v2VHEq3bykBPb1s8wIN0ZxJ9q8FftARAKiGeBu7t1y4hptLCcbipo3Z07zBDUuWZi9W7JNd3iDRvmBebqB8SmXGAdb5vqxS70yqTbg0Xc+dnIqmTJ+lTIafNFhdKsgJj7O/Tso62yUuk20v368AQE+Sk3+2cxJrRdurpuWvPJjHIOO0+0uLA1NJblXTHMR4LI8ms5JT+kKSaEpVHTvusgGYIcjOtl7uLf5aJrTJwWuRJLipI0Aecnsk5z/w3chc8o+NbLRrcIFNDyczK4Eq4PKHqhVPrbgHawFuOThxYIiwWeE9J8krE+N+FU301sEDmyplMO083TTsp+sLZqrQCqLVDaxucqDhR8D0u/lVuuTa/fvG8QDhi+eVQApM+Xw0Lbl+4qtmp3DnzA3pyikGVVRCTzlk6BRtPgAgiVog96s/1MrNWJRg2dAuV6vm1/ASWWdicVuYzE1bjwqMJuAVSh/GUmBOYKS0HSViEMjEBZRa7Nv3WjBAt1unwj6uDpth4OJ/X6r/oRhxX5HHM6A0eA9FiRwcLca168D1tZwqQBmUOL0KEZmoc1QBLU0dvAYbDKj77TYiSThqRtNQutexeX9wKFUAMGZRIWhiY2UORKd0BtQYGzMfjKTx68f1a3KHP8pX9RiJgKcP/KVW2Mp/u2u+c17/yUsGEzRo9yqeAiWTeDfk+6A2Elq163hmrBUvNWixBrOk+SbVFky7P2TOHL/y061cAtu4UnQBZdVowYez8XsrUgr0qgxXANygRcGig8BRPVWkJpZb6tgdEWH9TCnWILE1gaCg4F9K6EuM6A/NQWThXCGQ7VZHVJ4+PLIwKT5Joh5DKtwB4Sf+J3750X6/0f1InW+U/aOYgekCxvT0yxlMIcypOep3S9G+mBkovvn1+fh8kYbWcre5fojpHbv41jgLFW0dBt8H6m64qsHPT/yzgDFhH3cosSykOdrxnNXZU0JM9Aftv5mrbkBaUmGZWha1pMAk9uhTXlErZtD4Ieuw9/l4f5Fv0LIJjOoWYtBjThOCJUSTnoR7rVkuHUmUXl5BGB0qEIp9ZmVnJNhis6rGRUNOdvcK0JGw== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1f7606a2-c1b4-4490-58d4-08dc5cb0fc49 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:39.8661 (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 5/6] avcodec/ac3enc: Combine cpl_coord buffers 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: 6WflesZbmjY8 Signed-off-by: Andreas Rheinhardt --- libavcodec/ac3enc.c | 12 ++++++------ libavcodec/ac3enc.h | 3 +-- 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/libavcodec/ac3enc.c b/libavcodec/ac3enc.c index eb878afc7b..71d3026d40 100644 --- a/libavcodec/ac3enc.c +++ b/libavcodec/ac3enc.c @@ -2194,8 +2194,7 @@ av_cold int ff_ac3_encode_close(AVCodecContext *avctx) av_freep(&s->band_psd_buffer); av_freep(&s->mask_buffer); av_freep(&s->qmant_buffer); - av_freep(&s->cpl_coord_exp_buffer); - av_freep(&s->cpl_coord_mant_buffer); + av_freep(&s->cpl_coord_buffer); av_freep(&s->fdsp); av_tx_uninit(&s->tx); @@ -2439,6 +2438,7 @@ static av_cold int allocate_buffers(AC3EncodeContext *s) int channels = s->channels + 1; /* includes coupling channel */ int channel_blocks = channels * s->num_blocks; int total_coefs = AC3_MAX_COEFS * channel_blocks; + uint8_t *cpl_coord_mant_buffer; const unsigned sampletype_size = SAMPLETYPE_SIZE(s); for (int ch = 0; ch < s->channels; ch++) { @@ -2464,9 +2464,9 @@ static av_cold int allocate_buffers(AC3EncodeContext *s) 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)) + if (!FF_ALLOC_TYPED_ARRAY(s->cpl_coord_buffer, channel_blocks * 32)) return AVERROR(ENOMEM); + cpl_coord_mant_buffer = s->cpl_coord_buffer + 16 * channel_blocks; } for (blk = 0; blk < s->num_blocks; blk++) { AC3Block *block = &s->blocks[blk]; @@ -2479,8 +2479,8 @@ static av_cold int allocate_buffers(AC3EncodeContext *s) block->mask[ch] = &s->mask_buffer [64 * (blk * channels + ch)]; block->qmant[ch] = &s->qmant_buffer [AC3_MAX_COEFS * (blk * channels + ch)]; if (s->cpl_enabled) { - block->cpl_coord_exp[ch] = &s->cpl_coord_exp_buffer [16 * (blk * channels + ch)]; - block->cpl_coord_mant[ch] = &s->cpl_coord_mant_buffer[16 * (blk * channels + ch)]; + block->cpl_coord_exp[ch] = &s->cpl_coord_buffer [16 * (blk * channels + ch)]; + block->cpl_coord_mant[ch] = &cpl_coord_mant_buffer[16 * (blk * channels + ch)]; } /* arrangement: channel, block, coeff */ diff --git a/libavcodec/ac3enc.h b/libavcodec/ac3enc.h index 54e14d43d9..4241a908a1 100644 --- a/libavcodec/ac3enc.h +++ b/libavcodec/ac3enc.h @@ -243,8 +243,7 @@ typedef struct AC3EncodeContext { int16_t *band_psd_buffer; int16_t *mask_buffer; int16_t *qmant_buffer; - uint8_t *cpl_coord_exp_buffer; - uint8_t *cpl_coord_mant_buffer; + uint8_t *cpl_coord_buffer; uint8_t exp_strategy[AC3_MAX_CHANNELS][AC3_MAX_BLOCKS]; ///< exponent strategies uint8_t frame_exp_strategy[AC3_MAX_CHANNELS]; ///< frame exp strategy index