From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTP id 3D7A24A009 for ; Wed, 17 Apr 2024 15:04:55 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 76D7168D2E6; Wed, 17 Apr 2024 18:04:53 +0300 (EEST) Received: from EUR01-DB5-obe.outbound.protection.outlook.com (mail-db5eur01olkn2058.outbound.protection.outlook.com [40.92.64.58]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id AF7FD68CF3F for ; Wed, 17 Apr 2024 18:04:47 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Rh73fUkXt/P8pT2owtaxfnXFXancyO+V6nsclVs4jn6LMxFFttth+3SBb491JqwlFxSVQlLG7T0x22Ljxh1BCOS7YeghcsVDNCIVKeilNyRUUV5t5AhhXIQgWLdsRZXx6FDu/G5+UBWPLfaeP/4kloKMXkRzAje7MoNtO+Q7N4ArTUj4jV27aAkNxOiZImMmWQ3vUe/M1rGb0vOdhewrnQ1sbdNAe1fCuxNwlbxShBKRnn+Ay2ZZ0xSNS5t5WXCxaTGbTFkShBHQwdO52RByUT1K6pzo1Q1VvyeixC12X7+GkAhkCm1+bBvvhspQDL2nAmwFjMNUSlPzkuKzxA/KBA== 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=PBayq9LG8n0X5OY8EJgBZpsyIwUp8m1NJxg8tBRfTOc=; b=hXso0DxoA/IgwM0rFGgQw2ezXzgljmHTf5OzFCdNwtxq7nKl26N7UgLd+Zuc26slgiySEJDKgz3f/p285J52sm0kW7qa4Ftc59mc98w9m+id+zVNdrZmczu/jchn0FinrYi41PpfsGy6tYZwgsltM4QIxQutEuV8TLwlfT1+ZaF2j+JBw6x1uG0CY8fYDOb7rJRSE1NrT7VM5VqHeWsgj+ePjdrmWx1k/pD6gpO9C2Gmo4/BVBNUwnozFNAQK9koyKA7KQ4GlWA5iI959pzD4ZyzO61xJwRTm3gTaiF8m4UuMQ8BBZ5yHvpbpMGcWpvlyhYjdZvRFf9WV9qCwKZufw== 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=PBayq9LG8n0X5OY8EJgBZpsyIwUp8m1NJxg8tBRfTOc=; b=HshGZZv/lHaEN87tj8p2N7UbIKAREaAmAUkBcUs59ZPT1owyreKqPNDxzdVnDZ4QJvE3dCtJ04G7HHcauPVc7SRSD8m8hRbY8AFqMEKnaS6tQMQu7e9IsSOrC3AJUwsJaDohjGy/S7MzK2mdfFD8pEvNVNZ7z9y5C1caCdJBnywxVwZg58zpEjYVP8T8r3OaI9h2rwzVmWvQu3wLjDheUkIAlC4gWT5FS9Yec7goWIiryy/y2PsTThMFRBoJXORX222toWi9GaMm4qSn6sekXfFFLE2x0eaKIzIl9BImPgueius240h4WfGCCBJ9Ob0JDiATZuwqgFVATkfyhUcO7Q== Received: from DU0P250MB0747.EURP250.PROD.OUTLOOK.COM (2603:10a6:10:3cb::16) by AS8P250MB0071.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:37e::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7452.50; Wed, 17 Apr 2024 15:04:44 +0000 Received: from DU0P250MB0747.EURP250.PROD.OUTLOOK.COM ([fe80::1f36:56b3:1d04:c7a6]) by DU0P250MB0747.EURP250.PROD.OUTLOOK.COM ([fe80::1f36:56b3:1d04:c7a6%5]) with mapi id 15.20.7472.037; Wed, 17 Apr 2024 15:04:43 +0000 Message-ID: Date: Wed, 17 Apr 2024 17:04:40 +0200 User-Agent: Mozilla Thunderbird To: ffmpeg-devel@ffmpeg.org References: Content-Language: en-US From: Andreas Rheinhardt In-Reply-To: X-TMN: [Q1crpJKWB0BT58zlHxSzkEiV+KyKBGATuRvErdeez8U=] X-ClientProxiedBy: ZR0P278CA0189.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:44::6) To DU0P250MB0747.EURP250.PROD.OUTLOOK.COM (2603:10a6:10:3cb::16) X-Microsoft-Original-Message-ID: <42a4eeaf-cd60-4e22-8ae3-4a4d230d2457@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DU0P250MB0747:EE_|AS8P250MB0071:EE_ X-MS-Office365-Filtering-Correlation-Id: 0802c012-8e0a-4119-870a-08dc5eefb6a6 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 6p26KPbRUN25Du5E/PzSkB/RBx0WHWDACEIdFG0QgNR2ndgkDnV+potXHaNX2buBXm8W7KgnInqdrWYmikPxnpnB84OUYzEQn0xEw2II12NsGjjqX/vAOiK3DYSP42ImEMc/IzqsApjBmsrQkXtGKjvUU1uqTefHIzdIysi9X8Iyc2SqZvd76eNnpzr7y2iCGYq4foUZjvbR/J8oSMlVaBVVh96X70JTvSVvyoma9Oz1x+3iYaOjZJ8qTGa/OIRHEAovleIdM8B6OeddYergTLm+C37emgoSBrqIBX361+QYSjisafPlA2HJjqNVllEACZUtlbqWe2HHedL7d/ZdAKlTtvPwoawhmFk7XVSionrFiQUyGBVilN8lwkNnPGxf4ZVBO+Ems5xf0z2MFEIZe/14sBRdfUarSWHVexNd+8mXYYj5HTGqA5o5RqS5SmKjl6yofR/XqMFdCFXIRkQFVyBh7fK2jIvcDUT+Bc79+/UMOp1jP9VLthtLfp6r+hozROgaOhin149Z5Vo1VmMwfJ3+wDZ2xjZmRVcivQ0/gpnNY7K7YF93qsHL2a5hdn8G X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?c01HMmZtRUxMTjh5QTdOZjV4eHdOMDNPdGlyUXZRVFZVOWdEWHBSdWF1RHF1?= =?utf-8?B?Z1Nwc0dBb1dMaWJSbitBakg4MjlxT3lLMWJlVVpZTS80Z0kvcFB4QjJJZnBo?= =?utf-8?B?SDUyVFp6N0U1WVdyNXZQcW1EcStHeEZwYURzbnJHUUFqelJlVTNROXlyMVgv?= =?utf-8?B?OVRSM2RsL1BiVE5rS1gwZEZPR3ZPa2tCdGNTWGQxZlhwRXhOcjRhSTBFUE5G?= =?utf-8?B?VXI2d0xQOGJtKzF0bFB5blhUaGNUZGZZbXE4cnpKT2x4UzA4QkxJM3A1QmRL?= =?utf-8?B?NnBTNnhXeXBiZXJJWllNWG1iTVhxdGgvUjBqK2tuaU8yMk5LaHRyaWdTZVo1?= =?utf-8?B?WGFhelFndEFNcHg0SXBPYTRIZ25RYXNsaXpKS2xXVTNBRmJyaS9XNVJmdGFL?= =?utf-8?B?OUFHNy94V0JNdGwzZFYrdktEYXlwa1NMNnlINUl0SHVjbStGTHRiM2pEaitU?= =?utf-8?B?WWYzelc4QnliYkN2b1N0b2pPQjBGT21qcnJWZE9xTEFJWmlGeEsrQWxYOHd1?= =?utf-8?B?RnFLajhIOWZQMUFXYVBQdkFrRis3Y3JGT2hWbVRnbWRyVlk0dVlZbklQVFlP?= =?utf-8?B?aE5CdjNNNXFjUDEwQkREelg0amp4Vm5IbnRWeVMzbGpyUDREYTU1MGxWVExM?= =?utf-8?B?U1JKSGhZcm5jZEFubFVUWUdEYXVVRm5PYksyeVdvNHBDays5SlprZk4rZkph?= =?utf-8?B?OXBGbUFWYmJuQSsyVWJMQ1YvMk1yTVdWTHVKVHQ3bkNDa2ZpK0hUZGRkV0F0?= =?utf-8?B?WUd3YzVpYWk3OFBtcXFNUFRGUUlFZ1VNQ0JudHhaL3k0NnFLZU56V0w4Q05D?= =?utf-8?B?VTRVbUFoSjZJcFlCL3RGdlpBcCtqSGFxN21ZR0hGVTZyTEYxU2MvMm1TZzl1?= =?utf-8?B?VEtmUVkwT0FZZXQ5ckJmSGt0UnNpeTkyM0FsdlRNdVBBTHRxRXZSb09TdFRl?= =?utf-8?B?cGlYQmo0SkxqMWRZQnd3WWlFaFpOWVZFb1NiclZRbnBrTitzUTg2VmhzNk5n?= =?utf-8?B?ZVA1S21sRTREOGhxS1N1bC91b2pxRTRZcnJCMkJrR0NEY1JJNURlUlJkelYw?= =?utf-8?B?dTNRK0pueml4SFlUbFNjME5VR3JXSUhyZXRGZmRhdmc1dnZxUnNsbnJUVDdi?= =?utf-8?B?SEtsaUkybmZMUTdXQTNza3JRN1YwS2VlNW9IQUJzL3Y1YjNOamZZUGdJMXRx?= =?utf-8?B?MnFjNWRiYWlOSE5rcjVnWk5BeUtNTnpidEc1YTRINi9TZS9mVTM4U1FlaXBn?= =?utf-8?B?c21IRWx5R1haUzBuT1lQd294WGJzY3lYWEUxRnFETTZGRzdBbFhhYmdtYTA1?= =?utf-8?B?ZDRxZmdqK3gva1N1VFJ3QzZpd0d5N3JHL1NncXpVUkRqWGRGS0hOQ3JPaG83?= =?utf-8?B?M3BiS245K3lJVDVtNlV4VXRaaU4vMUpZTGVMMlpSTmhMTTJhTXdrdFFyWXp3?= =?utf-8?B?eE1jaTFQRW9pWm92RzdNVncvcVd5WVJnWjNkdm0rSWttTkhueGlzL21PUDBz?= =?utf-8?B?czBOUmdGdUJ5UUUwV05taEJhd09tS0p2eEZxNUdvQ2lPOWVMQmpVd0FlbFR6?= =?utf-8?B?R0tmVGFGMlRjUnhhT3JCSFh3clRpUGZ5ZlVETDZ4UzRCMTc1emdiQmY4Yk1F?= =?utf-8?B?NS9pVklKUkpKcDRoTy9pMGxLaEh1VEhkVDdiRzJxckw5QlA3VEZjYXZOMjNi?= =?utf-8?B?UXkyVWdvS1VzYjRaNUNSdlI1UkZCdC9ybjg4TDE1OURKNUMxT2hRcEtBPT0=?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0802c012-8e0a-4119-870a-08dc5eefb6a6 X-MS-Exchange-CrossTenant-AuthSource: DU0P250MB0747.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Apr 2024 15:04:43.8427 (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: AS8P250MB0071 Subject: Re: [FFmpeg-devel] [PATCH 1/6] avcodec/ac3enc: Avoid allocation for windowed_samples 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 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: Andreas Rheinhardt: > Signed-off-by: Andreas Rheinhardt > --- > libavcodec/ac3enc.c | 4 ---- > libavcodec/ac3enc.h | 7 ++++++- > libavcodec/ac3enc_template.c | 12 +++++++++--- > 3 files changed, 15 insertions(+), 8 deletions(-) > > diff --git a/libavcodec/ac3enc.c b/libavcodec/ac3enc.c > index 1ba4ba549e..a31b528597 100644 > --- a/libavcodec/ac3enc.c > +++ b/libavcodec/ac3enc.c > @@ -2184,7 +2184,6 @@ av_cold int ff_ac3_encode_close(AVCodecContext *avctx) > AC3EncodeContext *s = avctx->priv_data; > > av_freep(&s->mdct_window); > - av_freep(&s->windowed_samples); > if (s->planar_samples) > for (ch = 0; ch < s->channels; ch++) > av_freep(&s->planar_samples[ch]); > @@ -2459,9 +2458,6 @@ static av_cold int allocate_buffers(AC3EncodeContext *s) > int total_coefs = AC3_MAX_COEFS * channel_blocks; > const unsigned sampletype_size = SAMPLETYPE_SIZE(s); > > - if (!(s->windowed_samples = av_malloc(sampletype_size * AC3_WINDOW_SIZE))) > - return AVERROR(ENOMEM); > - > if (!FF_ALLOCZ_TYPED_ARRAY(s->planar_samples, s->channels)) > return AVERROR(ENOMEM); > > diff --git a/libavcodec/ac3enc.h b/libavcodec/ac3enc.h > index 227744d27f..618c952a18 100644 > --- a/libavcodec/ac3enc.h > +++ b/libavcodec/ac3enc.h > @@ -30,6 +30,7 @@ > > #include > > +#include "libavutil/mem_internal.h" > #include "libavutil/opt.h" > #include "libavutil/tx.h" > > @@ -232,7 +233,6 @@ typedef struct AC3EncodeContext { > int frame_bits; ///< all frame bits except exponents and mantissas > int exponent_bits; ///< number of bits used for exponents > > - void *windowed_samples; > uint8_t **planar_samples; > uint8_t *bap_buffer; > uint8_t *bap1_buffer; > @@ -259,6 +259,11 @@ typedef struct AC3EncodeContext { > > /* AC-3 vs. E-AC-3 function pointers */ > void (*output_frame_header)(struct AC3EncodeContext *s); > + > + union { > + DECLARE_ALIGNED(32, float, windowed_samples_float)[AC3_WINDOW_SIZE]; > + DECLARE_ALIGNED(32, int32_t, windowed_samples_fixed)[AC3_WINDOW_SIZE]; > + }; > } AC3EncodeContext; > > extern const AVChannelLayout ff_ac3_ch_layouts[19]; > diff --git a/libavcodec/ac3enc_template.c b/libavcodec/ac3enc_template.c > index b0f9e69ee8..6070e14961 100644 > --- a/libavcodec/ac3enc_template.c > +++ b/libavcodec/ac3enc_template.c > @@ -37,6 +37,11 @@ > #include "ac3enc.h" > #include "eac3enc.h" > > +#if AC3ENC_FLOAT > +#define RENAME(element) element ## _float > +#else > +#define RENAME(element) element ## _fixed > +#endif > > /* > * Apply the MDCT to input samples to generate frequency coefficients. > @@ -51,15 +56,16 @@ static void apply_mdct(AC3EncodeContext *s) > for (blk = 0; blk < s->num_blocks; blk++) { > AC3Block *block = &s->blocks[blk]; > const SampleType *input_samples = (SampleType*)s->planar_samples[ch] + blk * AC3_BLOCK_SIZE; > + SampleType *windowed_samples = s->RENAME(windowed_samples); > > - s->fdsp->vector_fmul(s->windowed_samples, input_samples, > + s->fdsp->vector_fmul(windowed_samples, input_samples, > s->mdct_window, AC3_BLOCK_SIZE); > - s->fdsp->vector_fmul_reverse((SampleType*)s->windowed_samples + AC3_BLOCK_SIZE, > + s->fdsp->vector_fmul_reverse(windowed_samples + AC3_BLOCK_SIZE, > &input_samples[AC3_BLOCK_SIZE], > s->mdct_window, AC3_BLOCK_SIZE); > > s->tx_fn(s->tx, block->mdct_coef[ch+1], > - s->windowed_samples, sizeof(float)); > + windowed_samples, sizeof(*windowed_samples)); > } > } > } Will apply this patchset tomorrow unless there are objections. - Andreas _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".