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 1EB9449B51 for ; Sun, 3 Mar 2024 18:43:14 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id C043F68D3B2; Sun, 3 Mar 2024 20:43:13 +0200 (EET) Received: from EUR04-DB3-obe.outbound.protection.outlook.com (mail-db3eur04olkn2030.outbound.protection.outlook.com [40.92.74.30]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 13F3568C978 for ; Sun, 3 Mar 2024 20:43:07 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=K/Jcjz0WUod88JKyl3EwyuSflA6ymDJuFiXstUJk8ishc4O5X71/018yAV8sgwC65plal+sRZuH6+KjhrdDl5aQ3mxFLmKnIoa48dFPJvTh2YC1XuyCyC38rIpJ1G4XkAjjMCq5nPOnH+sroHBsJ3cEGXoKNW9cTK9C7BHhUQYcCTjFjZRpGcPqONU5JN8LCSO91dd1DzXxdUY1FO7RiqIBCJw2Y1dUb4FaJNqaxmBXHE4uy0jq/EN45+Xrf1Mo+FVHKu4Kvf0BzhZA/zy53HG+ader78utDZJtj3bgTBbJsGLjnbsiScXYhACMI6DlOcjfzvhu1CtdzvlyO9TpMAg== 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=TpppXjst/npA6QxL7D0KBr4qUsOfoeauCRUPBhVN7vU=; b=eloZjz55fuZqM12I9HQFsSNrqaY7iHGUN4qaZgIMpwz/j6pWB8t481w/3/TAGiT99bgFQZY5VdoNGLTcjn6iDcFNoKtpEiBefCK6gGD9RtolCgKERcp60zXPwh9H/muaZSc4ouf6+kEaFvnEr7ZmhS/2IhNUfHjSMhoFgsrUUhzvb2IftatmlH4brh/khBCzPkI0b2d5EIU6n7vU2kM87ehE0GpYt44gZFUANkpGlXOv1bmdOZjPD1bauQ57szk6MaAs/gmTknTO7xG64m0Xd49rC5eDkox/6N7SdIrEPkF0ESJapA4jHCpQT+/6GdbVzOtg/7Js5QRXhrKMFeygqA== 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=TpppXjst/npA6QxL7D0KBr4qUsOfoeauCRUPBhVN7vU=; b=O0+X1mUDaTmA4Jlw/n8e1tRBXQ/DpOjvB2cUQmVQXEP9jG0DDf54dj2QqvKpUE5f111iAmPxukEH29Fsgb1GtnEtPKqaNVYcD05IVlUhxnCZObioVhbV90mj35q9HH4bPofP25gqcLczFVOziMgDO804TmD8R0W6HUWoRT4wlDulJhdM7in7qOtg3bocM/BKtqntou450XIQ9GaEf3C/0jUn5XMp9791K7sw1YO1EqI/PXho1dHrDP8wgaOQKH8KvVszf+Z/+w3ZKXRZzTlWB79uLRviB3TsDuiuAAW37ZUa7+Z5YQMcZzKdqU2BqwLJVQeAMi8SebPJB4wOsslBMg== Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) by PRAP250MB0538.EURP250.PROD.OUTLOOK.COM (2603:10a6:102:295::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7339.37; Sun, 3 Mar 2024 18:43:04 +0000 Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::65aa:deb0:a18e:d48d]) by AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::65aa:deb0:a18e:d48d%5]) with mapi id 15.20.7316.023; Sun, 3 Mar 2024 18:43:04 +0000 Message-ID: Date: Sun, 3 Mar 2024 19:45:03 +0100 User-Agent: Mozilla Thunderbird To: ffmpeg-devel@ffmpeg.org References: Content-Language: en-US From: Andreas Rheinhardt In-Reply-To: X-TMN: [iXHcU1AO9//wWnPk5dczokCasZrZ2JUwnUWdyMeJi4g=] X-ClientProxiedBy: ZR0P278CA0141.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:40::20) To AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) X-Microsoft-Original-Message-ID: MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS8P250MB0744:EE_|PRAP250MB0538:EE_ X-MS-Office365-Filtering-Correlation-Id: ec862ad8-361a-4719-e722-08dc3bb1c2f9 X-MS-Exchange-SLBlob-MailProps: Cq7lScuPrnqnx/C+6DC/TIciLJ1/n0VpN4HiSVDU+ALpr4pID1eUNVz/Sz32/jnNtYygnGWRUc5rATrcghhmsOhShgItcFi2mvnGJlbLX2j3v31a+eSXQXun1V/cAjp5ymi+BrXlmHDbfeNKmn2u8GNwOgBfgtd7XEqOreSkmRGs0qYRZPgZHAFzEMwG9Jz5beR1B8g3Mp5VzPhQ1s5PMbBHdxkFosOUnG4Y2Nr4qBj5RXoD1SWUFuE5qcPHd6dK2IN6/6aCIDk6+1wlcd61ahwIZYhMTsT0j2P5elUD2GhMD+Dg7z8zb+drEwSde6/OGW9XdqnOQCDS+nFFaiZIoovV3M2lEZaNZBVFt8IunvlUbBGDmwAxqEqc6qGSaqgeOA1eN7IDjJ+KrdeTIqHTY32wGKEkmvn1wTCKMnnUrF8w2xTacSqE5TsfdYVBqP/TbSWwNea1oBLmDx+FJ+/QNsDnO+fuyHD9Sj7MayGCcmM+rv+W4LnXsG+lexxjOn1MJJhNR8mKpyvyC3ZCqAN5D8Q8eYWc8bLBgUHphDhGVZONvOfZBuZ973y95S9YLdohQBUL43UcGM12ONk9HgkpWXTZvBXT4OVL50i2X9sJQ6/qy/DZNKf3R63waXthEJkzyLtp+8TkF1dj+yUJ8IJ1CCWm/gAWquC0sne9HS7PNhyw3Off+ldiQu4w155MwmSiHo5dYZEnA/Mu69pO5Ig6yVNahIUXvAZPKXfejgDvJrRmzKJqy0kokXWyY+X9RszqDnrMOk+yTJs= X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: TZU1o9iNkbR64bGK/jqFlBp7uqpIecuTs4OvJ28u1V+zV2MGE2P5zgzfjUN/T3VaJ8AuMA8efhN9Ep52ngnzNNVmUWcfKin5IEQWsLcobPoI145xhnsGasRM7Jh9BnqtJutycO5AGIMT8wCeQ/kk/AAqH6VhlKZCBZTVsTMk21DEh0/Y8MaY4Kw1cJCsJtk2zKKzfIC/3IWzFvbh0LhDDOgWHCiWQX95p3bebTI7gm0da8JWCeXsHReDP4D2JIo9LmjU4yYiFvM4pWDR3ZtYH6W60M34KC+37JF2wi7oSGMXT4qejBPeD7LtsKUBNRFD09q5wfnDw4D8zxR/ej4O4gRUxvEyBqyCwrWJgy4EzUaGp7RDFnFGqVKEL240wikU4YHPLn2ZktKNx0Cf8Qz/zaDZpD0BaVyboh8Oydh/LR5ouwUsKW6GO9LkDUjYVmHp9MNZS98bRE50TUPDRviVsY4eiLmuZz1WOptXkFm1I6nvGlkBio11TTGCkAXSdKLzr4JQMkI+zYkAmlta86ykJ+L6cCFbf5t/1gofeHcg9JsAKyY1MO9lgvl+sOw6RWFW X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?ZEJ4YUUzTHJtK203RWJLVW5YbVJmZytINXZPU212eWpPQUthMUhsaDRoUW9L?= =?utf-8?B?SUR0L0tLckx3cHR4Y0hIZEU2L2NUZ2xrUGtCdzY4djQ0Mk10NmYxQ0YwWUt5?= =?utf-8?B?ZnNGaFZtOUZNQ05MNnBUeGhkSHBLUWJWWXFVUWIrMWpRZ21jV3gzT0NOSm9O?= =?utf-8?B?cnk5Sy9QeEZ5VlFndFNxa29OdG9mR09aalFNVVgySXVIMTU2UEJjSVgyTXpQ?= =?utf-8?B?bTRMSit5N3JwVy9paWZCck9XNFJ1aFFLZU9GNUUzSzhBSGlmUzdGYzlBQWd4?= =?utf-8?B?VytOVGx6b3pUUlJNTTNMQkRQQ2JEYXAxV0VYTDBPcDcwYlI5L0lWcUJ5SW93?= =?utf-8?B?Tld0RDhESU5Pc2cvT2tjZjhvRDk1b1VkQmx5ZnR6MFdSTUdtNTlJNW5VYUhn?= =?utf-8?B?anZQazh1bmdnQlp1Y2NBdmM2MkxsNG9DZXc1cWV4dHBRODVyU2pvNHdSTGRU?= =?utf-8?B?d0I4RmoxcXp0SFVzc043aWF2dm9jdzNsWVVoRHNWTE9Zd3IzOW9EdmZDVHNU?= =?utf-8?B?MTUrRy9URGtmRGlUbzV6MHVsMTZEYlVIbTVEbUhHdEttazVFM1hWejIzU0dF?= =?utf-8?B?NHpmY0s3b1VkTGswbXNYaTNtYUt4NTJsY0tnZkFZQXltL1E2d2tDZGZBUGgr?= =?utf-8?B?S0Q5Mlg0VUZ1M05XY0tyTHR3RTVnR0owKzl3Q2twY0FzMWJZV29SNHdjVXBR?= =?utf-8?B?Vm41Y256QjVzekFaK1UxcVlXTWU3bjUzenJNTS8vTks1eHBpT01FZW1sT2xX?= =?utf-8?B?WFk5SmhwZVZ0Nk5WLzhsL3gxS1hXa0VMTmQ0bFh3MDZVeVdUcnMzM2UzY2lC?= =?utf-8?B?ZUt1WkMyY1VJVVd6VUZxUWJxUUt1bTVzT0VtYlFPT3Mxd0RIQjhFMmJ2dVI5?= =?utf-8?B?ZlhETmhacVdQZ2NheVVxeitYNlBRMy9peHdxSjRJdC9yVnZoQlJyTkhpSThw?= =?utf-8?B?cmVYai80OUxRU2dLZnAvKys2Z0NIQkRkZ0d6ekQrcWNoQlZSeFAzVUIwdnV1?= =?utf-8?B?ZHZTc0lDVWpBTTJLcXZLZFRzV3UvN01iTHVydHJTU2owQUZaTnAyZlNBeXpZ?= =?utf-8?B?aUNYRVJocklNUTRuY1FoM2RCZmlMVnRlVW9nZXFHeTVvbU1keVVlM3hYQnR0?= =?utf-8?B?R2NnOUdnUDJsR2VwMGRsNDVYTUQyMTY1WjNyVmpDVmJwanhpeEk1NE1udjFN?= =?utf-8?B?eFVZMHB0NVN1WmVMdVNXUW1yc3hHc1VEMnBPYXNtdTJDZWZsaWJoNktaeXly?= =?utf-8?B?ODRockZyOUJja0NJYldHSGRSTHBCdGV6c3VnYlJYWHRZZTRCR3JVWUFzUGhH?= =?utf-8?B?eHNkREIxVTgvU1UyTWkzQ1lSdTBuU3hSYm1HZThKTWo5Tk9hcXJOMzVJOWNT?= =?utf-8?B?OTdvYkdwbWw1a2kwcmtQNkFuSlpjb29jNWdya05KMVY5cjFGWk45S2doNUFo?= =?utf-8?B?RUQ4Mm1qSHMwd2ZHVmJWNEhQWkhrWUxUWXBpZVNVOHVyMXZXakw3Y1pNWVZv?= =?utf-8?B?ZWRtSGFrZUdvb3l2WUFXeTJ0YVl0bzdOZHphakVwZnlSeGpZMlp4bHA2Y3lm?= =?utf-8?B?NU9DT09KUHVIT20rSjF4ZHdNMVB0VDU2SXcxTE9kNnVJV2xTb0x2cDlocy82?= =?utf-8?B?M2p3NWZNbjFXQkpKaDFLS1lkUEc5Z21aNnZZeUcxUDlKTUx5WVFRdE1lcGln?= =?utf-8?B?NEkzQlRheWpkdW9lTGNuUjN0Ymw2SVAwWW9Eb245WFpYa0MvL1NHWnVBPT0=?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: ec862ad8-361a-4719-e722-08dc3bb1c2f9 X-MS-Exchange-CrossTenant-AuthSource: AS8P250MB0744.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Mar 2024 18:43:04.7703 (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: PRAP250MB0538 Subject: Re: [FFmpeg-devel] [PATCH 1/4] avcodec/lpc: Don't use AAC defines directly 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: > It leads to defines for the AAC decoder being included > outside of the AAC decoder. > > Signed-off-by: Andreas Rheinhardt > --- > libavcodec/aac_defines.h | 11 +++++++++-- > libavcodec/aacdec_fixed.c | 2 +- > libavcodec/aacdec_template.c | 2 +- > libavcodec/lpc.h | 27 ++++++++++++++++++--------- > 4 files changed, 29 insertions(+), 13 deletions(-) > > diff --git a/libavcodec/aac_defines.h b/libavcodec/aac_defines.h > index 59528f1f0d..8765939731 100644 > --- a/libavcodec/aac_defines.h > +++ b/libavcodec/aac_defines.h > @@ -71,7 +71,15 @@ typedef int AAC_SIGNE; > ((int64_t)(y) * (z)) + \ > 0x40000000) >> 31) > #define AAC_HALF_SUM(x, y) (((x) >> 1) + ((y) >> 1)) > -#define AAC_SRA_R(x, y) (int)(((x) + (1 << ((y) - 1))) >> (y)) > + > +#ifdef LPC_USE_FIXED > +#error aac_defines.h must be included before lpc.h for fixed point decoder > +#endif > + > +#define LPC_USE_FIXED 1 > +#define LPC_MUL26(x, y) AAC_MUL26((x), (y)) > +#define LPC_FIXR(x) FIXR(x) > +#define LPC_SRA_R(x, y) (int)(((x) + (1 << ((y) - 1))) >> (y)) > > #else > > @@ -103,7 +111,6 @@ typedef unsigned AAC_SIGNE; > (c) * (d) - (e) * (f)) > #define AAC_MSUB31_V3(x, y, z) ((x) - (y)) * (z) > #define AAC_HALF_SUM(x, y) ((x) + (y)) * 0.5f > -#define AAC_SRA_R(x, y) (x) > > #endif /* USE_FIXED */ > > diff --git a/libavcodec/aacdec_fixed.c b/libavcodec/aacdec_fixed.c > index 57d3fc8bab..08343bf157 100644 > --- a/libavcodec/aacdec_fixed.c > +++ b/libavcodec/aacdec_fixed.c > @@ -66,7 +66,6 @@ > #include "avcodec.h" > #include "codec_internal.h" > #include "get_bits.h" > -#include "lpc.h" > #include "kbdwin.h" > #include "sinewin_fixed_tablegen.h" > > @@ -76,6 +75,7 @@ > #include "aacdectab.h" > #include "adts_header.h" > #include "cbrt_data.h" > +#include "lpc.h" > #include "sbr.h" > #include "aacsbr.h" > #include "mpeg4audio.h" > diff --git a/libavcodec/aacdec_template.c b/libavcodec/aacdec_template.c > index 72c6e206a6..fb3a954aad 100644 > --- a/libavcodec/aacdec_template.c > +++ b/libavcodec/aacdec_template.c > @@ -2516,7 +2516,7 @@ static void apply_tns(INTFLOAT coef_param[1024], TemporalNoiseShaping *tns, > continue; > > // tns_decode_coef > - AAC_RENAME(compute_lpc_coefs)(tns->coef[w][filt], order, lpc, 0, 0, 0); > + compute_lpc_coefs(tns->coef[w][filt], order, lpc, 0, 0, 0); > > start = ics->swb_offset[FFMIN(bottom, mmm)]; > end = ics->swb_offset[FFMIN( top, mmm)]; > diff --git a/libavcodec/lpc.h b/libavcodec/lpc.h > index 0200baea5c..907fab7508 100644 > --- a/libavcodec/lpc.h > +++ b/libavcodec/lpc.h > @@ -26,7 +26,6 @@ > #include > #include "libavutil/avassert.h" > #include "libavutil/lls.h" > -#include "aac_defines.h" > > #define ORDER_METHOD_EST 0 > #define ORDER_METHOD_2LEVEL 1 > @@ -117,10 +116,20 @@ void ff_lpc_init_x86(LPCContext *s); > */ > void ff_lpc_end(LPCContext *s); > > -#if USE_FIXED > +#ifndef LPC_USE_FIXED > +#define LPC_USE_FIXED 0 > +#endif > + > +#if LPC_USE_FIXED > typedef int LPC_TYPE; > typedef unsigned LPC_TYPE_U; > #else > +#ifndef LPC_SRA_R > +#define LPC_SRA_R(x, y) (x) > +#define LPC_MUL26(x, y) ((x) * (y)) > +#define LPC_FIXR(x) ((float)(x)) > +#endif > + > #ifdef LPC_USE_DOUBLE > typedef double LPC_TYPE; > typedef double LPC_TYPE_U; > @@ -145,7 +154,7 @@ static inline void compute_ref_coefs(const LPC_TYPE *autoc, int max_order, > gen0[i] = gen1[i] = autoc[i + 1]; > > err = autoc[0]; > - ref[0] = -gen1[0] / ((USE_FIXED || err) ? err : 1); > + ref[0] = -gen1[0] / ((LPC_USE_FIXED || err) ? err : 1); > err += gen1[0] * ref[0]; > if (error) > error[0] = err; > @@ -154,7 +163,7 @@ static inline void compute_ref_coefs(const LPC_TYPE *autoc, int max_order, > gen1[j] = gen1[j + 1] + ref[i - 1] * gen0[j]; > gen0[j] = gen1[j + 1] * ref[i - 1] + gen0[j]; > } > - ref[i] = -gen1[0] / ((USE_FIXED || err) ? err : 1); > + ref[i] = -gen1[0] / ((LPC_USE_FIXED || err) ? err : 1); > err += gen1[0] * ref[i]; > if (error) > error[i] = err; > @@ -165,7 +174,7 @@ static inline void compute_ref_coefs(const LPC_TYPE *autoc, int max_order, > * Levinson-Durbin recursion. > * Produce LPC coefficients from autocorrelation data. > */ > -static inline int AAC_RENAME(compute_lpc_coefs)(const LPC_TYPE *autoc, int max_order, > +static inline int compute_lpc_coefs(const LPC_TYPE *autoc, int max_order, > LPC_TYPE *lpc, int lpc_stride, int fail, > int normalize) > { > @@ -182,7 +191,7 @@ static inline int AAC_RENAME(compute_lpc_coefs)(const LPC_TYPE *autoc, int max_o > return -1; > > for(i=0; i - LPC_TYPE r = AAC_SRA_R(-autoc[i], 5); > + LPC_TYPE r = LPC_SRA_R(-autoc[i], 5); > > if (normalize) { > for(j=0; j @@ -190,7 +199,7 @@ static inline int AAC_RENAME(compute_lpc_coefs)(const LPC_TYPE *autoc, int max_o > > if (err) > r /= err; > - err *= FIXR(1.0) - (r * r); > + err *= LPC_FIXR(1.0) - (r * r); > } > > lpc[i] = r; > @@ -198,8 +207,8 @@ static inline int AAC_RENAME(compute_lpc_coefs)(const LPC_TYPE *autoc, int max_o > for(j=0; j < (i+1)>>1; j++) { > LPC_TYPE f = lpc_last[ j]; > LPC_TYPE b = lpc_last[i-1-j]; > - lpc[ j] = f + (LPC_TYPE_U)AAC_MUL26(r, b); > - lpc[i-1-j] = b + (LPC_TYPE_U)AAC_MUL26(r, f); > + lpc[ j] = f + (LPC_TYPE_U)LPC_MUL26(r, b); > + lpc[i-1-j] = b + (LPC_TYPE_U)LPC_MUL26(r, f); > } > > if (fail && err < 0) 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".