From patchwork Sun Sep 25 15:06:43 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 38285 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:3b1c:b0:96:9ee8:5cfd with SMTP id c28csp1725172pzh; Sun, 25 Sep 2022 08:06:57 -0700 (PDT) X-Google-Smtp-Source: AMsMyM7zlZXiKChHx6sSiK4tOBurGdYbVj9fetVI620/T7obAcWhC9m9Pf88lW8TTMINemP6jtn1 X-Received: by 2002:a17:907:a049:b0:77c:1f27:1b28 with SMTP id gz9-20020a170907a04900b0077c1f271b28mr15772437ejc.20.1664118416974; Sun, 25 Sep 2022 08:06:56 -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 b14-20020a170906194e00b0072f2e1425a3si11133749eje.774.2022.09.25.08.06.55; Sun, 25 Sep 2022 08:06:56 -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=JrHaZIrQ; 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 0C09468BBCB; Sun, 25 Sep 2022 18:06:54 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05olkn2070.outbound.protection.outlook.com [40.92.90.70]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 619DA68BBAF for ; Sun, 25 Sep 2022 18:06:47 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ghm4u3AKuRDkT88fj7nYVTu4sVK9xJ99ud/KWP3LwHujezFZeQMI9T2oZrg8JzD+4fNBsE/4LzvfRUG7Wlf7r+htyPR1cf6SMNVAdd5PJbzlHivR6M2vEIBAk53lq7hPeKp6vvDhW+1EJGrKBhdfCLT5TIyf+zaF9UbFhODZCLmJonyUDUjn9nvh1ClT9jlD0Ti8Y8Vhto87PwUa0bBMsRs77VZV71MLDNH+Tnj5rUDLIcuRBiJfORGvKYeS9EESAYQoo/EFRAsGGnBTL+NiPhkPywXlblB3AJALm2PJbyjHHkhkJU0JJSY8F3CpnLr4CxquayxXVKsqrq638bqLxQ== 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=MgTKaNrc4JEU23BVzq2Iq+XQkKv/k0z859knE5kkflQ=; b=DYsaIeCYbBjxUl4PkOtBrLl8LHr8NSgPZ2KZbNF86MO0gt74j1gCcndoDkmiyOMBZSNx2nHyKHvmZNRkhkDiqrHeB9XJDGrs4xDQwkmi6VYDmyiK0WbD4SgGvwhFLWuaCyN6ZFuqc4PaPs6gO7RrwGsF7hPSl9O8aryQqtUKlIftiuObqDe59t7s7Lq0z824CKoJqCL75UU/TIj4S/ejZOUdiS8s3IS2Rl2ofjVgGyzyy+z0rHUaJCasHCIJFWEA9SItYbM/TnqgcK9yp0QdUOa0Qeh9z43N4xrSZnPSL7icJDyhzFCVJ2ICzztmBYOukOQeisiYSQ9o+rQYvfbK8g== 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=MgTKaNrc4JEU23BVzq2Iq+XQkKv/k0z859knE5kkflQ=; b=JrHaZIrQfTg7n7DLxXwTiGJgygxw1kV9WQN3mW2FnWTu3Hr9cajHnUJRp+3wkagvxRt0QoX6wVM1IjHa9t8ITvW7+WfVeVQX3tdHZp81PyrgdkTi3QeBNISefr8C3AtKM2tH7wKOxHMePsnzT2bPDpwkirk31J1TaieEKNV3Xskzj7Q5R1ySONeSnl4TRCnqzxgF2JNtoZ/Apl6xnuXPcmdS7YGW0RygreSZ22JTsFtdE/eawmla1Xj01eUopcavVNZ6Pr6yFC4rc4xcOfUy1ucCE0X+2N61SPNxqT2jgRnFoZoW2+32uy2XMPa/VsK3vfjY0ZeUuKHwcFwS6KAm0A== Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) by PR3P250MB0241.EURP250.PROD.OUTLOOK.COM (2603:10a6:102:17c::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5654.24; Sun, 25 Sep 2022 15:06:46 +0000 Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::85ac:1b92:90f:dc18]) by AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::85ac:1b92:90f:dc18%4]) with mapi id 15.20.5654.016; Sun, 25 Sep 2022 15:06:45 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Sun, 25 Sep 2022 17:06:43 +0200 Message-ID: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: X-TMN: [Uz6MfLQY3aW7r7B1dz1pX9sTx2FQdYcWMx8+dD+t2zs=] X-ClientProxiedBy: ZR0P278CA0028.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:1c::15) To AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) X-Microsoft-Original-Message-ID: <20220925150644.2832447-1-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS8P250MB0744:EE_|PR3P250MB0241:EE_ X-MS-Office365-Filtering-Correlation-Id: 3e81e6cc-863a-4d85-3d49-08da9f078fef X-MS-Exchange-SLBlob-MailProps: feAVlmA1hHV50dRIjpPvUoZKIOJr1h0roJ1QYuTfqudSxwfHSyGIHAxk5zbDrMnDLLmKyICqXD3S5YLuZewD10ogz7aXuC/+VI4hx+FtfofHqyT76CUSho2FZJaBKPDTL1vJIudGznwJY+dDaMdjWtj3Yh/HkrIbiLG2eQfOWRi+vch8nALk/aP6mbK2JDgdPgGhh9fk/6o1U9bSWoLh/MBhqFaCcTq+hqaSpP/ZZc7mtZKbHKo06sAx+uor4G4WhubGRLrT2LohPtf3/HqLOVIwTQz9gehbYPyIpdJ0W7PwuyMDixurWqH0trQ4r/ANG+O+a/ygurqTjFFQKkI9/HLrt/EAECxnW97OnauRpMAzwy+n1d9NHSqVS/clfwRNuHIq0/QE/qtPTR3h+V9GuflFbAUc19OriH0a+2+8ulU6kZ3SX1a1zUEUm29blXCfMk2AWtMpsB9NV3Ik00IYIllxTVzZHUfVLiwEoIXCCpvI/0hUwSVZbiIhydNvB+RpA9UDjkxmaNpdGdQrRjsXPywhCWuy2Nc11PMqnhIFGoo8V6bvurDyBlWcBfLTpd/3ktvyDPgcB432pdW4PX6TPrPQq87caWXtFAN3fM5XqmZMxo/6oxENLge+II/03PzuClWdd7o66tmqGsxogv/JU+B4jJi5ruWNapYfn23UVdGqx2q81+dLZKcYgUeTQLdkFueH+fOzPZEbK3T9ZLyYeA== X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: uHQAfirR2LNpnMAdZp3/FmCZK3I9VeWiqGkri5Y3qdhMGn2qdzw9qLOl8g19ENjSj3jvkAx/VKfhXeKhqoT24xzArgGLgb9Rxzz9ihoGPB1le80Zr4sSJllSbUpllUxlHAfj8ynVctypQ40MiTEqqCdgquCyURZ0OStS25asr/HQLdPdLkOSyntUzjhA7C56sygPjMlKpONGv4qrewb2WSu+Y/bGOltM4+haGyGO38tjqxo5Ui1AatFjRg8dGYyM29DxEh0dI5BZx9xhhXeCIUVb2sQImc7Jip8881bgHYazB7IP+zXKHikAOE/sXiFeFXStk3SomihNWhW6GxFbkM8PDYbHGE12BmLwY9nOLLmZoEZG+R/i/b0MoGBOPalrVJjg3tdc8GFdn43fBvbnGiockq78B/mCFbDYhAKiC6hAGW0EMIGq5RGYCiHU2wQTo+7GzioEs6iaGEpUW+Ea+fFlylqgEsffwv1f1eKYpJBeSFckdlnyzTqI4sHXreh3N/pfTD8gPqLXZJgH9UM0s3xQyv/y3raWWq5zd4Ejt8EXQ2vU+8aGaDDdQRtNw7QeLEx5oXNntT3Z3BvqrvfFBxqzWw+MmP5MIF9AJ1GltDkeLgV5BCuFJwnYLzxH7SLaVNdkSFL/SZ8Mg+tLquARyw== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 8JhjNGPTf3OsI1bsUFo4t0u5BTulTaxEAiUCFe3EYDng3vM1M//dIoTy8xOC1ytZay9nGlNrlydJf52MV/a4Hs7lNgtNJbMYFdU1/oc3X18tX8OK7V2yvT7TunxtbL01ujjG8VBkNJYZ10EGYrh+pvI3j4JBIZu+zfNSbvwGCXpaKVO7stwloZYTzuB5yGuhMKba9QZjbTb+g1DezikaSy7CdVQMv8P95sAY+VPuSSwk6ahCix6i0UkLyNM3RV+CxSVbW/s2ttC22PFFdDKeQ3Ff4oFKixoFRBRT3gIFYsnl3v06JAXxgKCR7YiORKWUZwHamEnRpnKBPCgacEFCNLm92gGrbCh6BVaeholTvGgcMauloIYPQXTi2uFzggE+ItEJ3bs6UxtkTY961ujFYocnCN58GeQIbiTfnsb/TR3yfHOjM3hV+Ht9NfZj2di7A+a7ZrQ+qLIxMHPdaLcnk9l+y0DU8qrt1EMcUU2hYGknokaGsPJ5IkzlNb4vlt6Yb0ANNtzGzpkpwv+efoAVNdtDx6CBfv41Pv/6WTPk4A2ANBVwA/7QFCZ08M9lFyd3FsDulx4+yKKE6GHBULszqXzgQrv/b4IBY67KWK19quWHiC2vNJxeEfME2vl4dtgiqxpsiZXr1IyFuO8wLMHxGAL7S6wKKNP6z/ViICjcl8Dk1Sfk7dg4NmUwLBPNJAsVn2MQsJbUxw7BNSYKR8feCelh3nZPd8VLbsGlJmUTT46Yv0f/+h8vsb8EPHPqckjUQ7RQ1/DxmjYI0sAz+2v9d27KKAI7Il3+CviAjVYrYqnGIpkgpaFpLWomcUK+RqQhxPs0rTlHOeI/D9qSLHs7rLqqHsx7dXw69j0KbK8NGBrHrIZWpsDxTsm/O9V2ymx6cLuO8XUehT0puKrirEXKX1eV1ln1F3bsa2CHSlHSfQ2YNljRslCIHwY273NFwBpRqbwn3bwWjNg9logBui1KX4quLVPuqXdiOk55q6g2Pjm8EwyIH+x3DSevpk4nx+AM7vNDB1nNsq09epSZlIkqBPdEmv0+OyTITAJw6CrtLES7nxENWg726oL43dFg8mRzmQMlCfnW2428buGbtV1yySuF4z6Ho11qib/IWwueBChbtXm5e456KHzmO7exBW9MUTBpaD+4yUUELM2ZNGsnzjmRDbgu/KdXpqjzEFI18o0RbsBnUE0Svge7GucEMLpA45zm1ljnE0ZYL47JENBCFqsZy3ULD7yWa/KlKnVJ6yvC3gGvqlt7DnovdMmafAlZ42lOshsB0C/ixxsrn6zETGXWxy3T7zSWIukZ/yCWhsh4YBgyyUtchPfmashXZN1z X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 3e81e6cc-863a-4d85-3d49-08da9f078fef X-MS-Exchange-CrossTenant-AuthSource: AS8P250MB0744.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Sep 2022 15:06:45.6487 (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: PR3P250MB0241 Subject: [FFmpeg-devel] [PATCH 2/3] avcodec/lsp: Move ff_lsp2polyf() upwards in lsp.c 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: GokMbF1HSEHN Will avoid a forward declaration lateron. Also adapt the function to modern style while at it. Signed-off-by: Andreas Rheinhardt --- libavcodec/lsp.c | 35 ++++++++++++++++------------------- 1 file changed, 16 insertions(+), 19 deletions(-) diff --git a/libavcodec/lsp.c b/libavcodec/lsp.c index 9e7bc5f87a..9536d8078b 100644 --- a/libavcodec/lsp.c +++ b/libavcodec/lsp.c @@ -124,6 +124,22 @@ static void lsp2poly(int* f, const int16_t* lsp, int lp_half_order) } } +#ifndef ff_lsp2polyf +void ff_lsp2polyf(const double *lsp, double *f, int lp_half_order) +{ + f[0] = 1.0; + f[1] = -2 * lsp[0]; + lsp -= 2; + for (int i = 2; i <= lp_half_order; i++) { + double val = -2 * lsp[2*i]; + f[i] = val * f[i-1] + 2*f[i-2]; + for (int j = i-1; j > 1; j--) + f[j] += f[j-1] * val + f[j-2]; + f[1] += val; + } +} +#endif /* ff_lsp2polyf */ + void ff_acelp_lsp2lpc(int16_t* lp, const int16_t* lsp, int lp_half_order) { int i; @@ -191,25 +207,6 @@ void ff_acelp_lp_decode(int16_t* lp_1st, int16_t* lp_2nd, const int16_t* lsp_2nd ff_acelp_lsp2lpc(lp_2nd, lsp_2nd, lp_order >> 1); } -#ifndef ff_lsp2polyf -void ff_lsp2polyf(const double *lsp, double *f, int lp_half_order) -{ - int i, j; - - f[0] = 1.0; - f[1] = -2 * lsp[0]; - lsp -= 2; - for(i=2; i<=lp_half_order; i++) - { - double val = -2 * lsp[2*i]; - f[i] = val * f[i-1] + 2*f[i-2]; - for(j=i-1; j>1; j--) - f[j] += f[j-1] * val + f[j-2]; - f[1] += val; - } -} -#endif /* ff_lsp2polyf */ - void ff_acelp_lspd2lpc(const double *lsp, float *lpc, int lp_half_order) { double pa[MAX_LP_HALF_ORDER+1], qa[MAX_LP_HALF_ORDER+1];