From patchwork Tue May 3 06:37: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: 35552 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:a885:b0:7f:4be2:bd17 with SMTP id ca5csp257299pzb; Mon, 2 May 2022 23:38:31 -0700 (PDT) X-Google-Smtp-Source: ABdhPJz/17IQpaTN6rW7uno2LBndlqpjq5BRyFtyknmhAAQbPMv+Tmgp3HFYgpVqVHhtmhAHSb86 X-Received: by 2002:a05:6402:2789:b0:427:bc78:85c9 with SMTP id b9-20020a056402278900b00427bc7885c9mr10459583ede.50.1651559911312; Mon, 02 May 2022 23:38:31 -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 z13-20020a05640235cd00b00427ccd4bea2si3494155edc.451.2022.05.02.23.38.30; Mon, 02 May 2022 23:38:31 -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=ogdxLxeH; 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 989AD68A8CD; Tue, 3 May 2022 09:38:26 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-oln040092075073.outbound.protection.outlook.com [40.92.75.73]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id DF8C368A8CD for ; Tue, 3 May 2022 09:38:20 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=dYYpOEp4RVfv8ihqCIAjJPAXtwshZu7XdJ82Ydq7SC7IrELSO0RBkmSmKybWBTRJEt2/EbIaJ8OlGemQODbT+Zn21yI2NrSWSsR3Z4jJGXrBUravkAtBR0z0uqlZ77yKfPBPMzjqpxu5nhtnxQqbITXRZWHOzeBptP+gwbrRwZirnrdtGVR53Iw/8TQLodpehuGMMiIRJgc7WXfLhfSanUWWoeMKfSLp4zNxFGXgkDGxeKQTqQCb+sskXlcegyWifLI+8tYsNROmRaPboTh5BepOc9Wo3HwFvAt/P9oP1CNYhNEAL4R79p/WQAMmc8Yi9++CruAswbP/tpAs8hOSHw== 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=eYLTlp++C/NtlGtjVc1MZrVRfGOBi1sv5D6cIhUvnHE=; b=mNjKOQx3W8Yqi5IP9foUOGxkfJlE0eRQVxCGIawhvYYVLIAGoGLZluxfJdngUR5KHxOd5pTAYwAs6pzHDi09khVkQ6WiHjQe+UjwzUYdn0pg17elMzCfvy1lqSJF5kE8JRpE/orVntd8fZDYNjN04eKpHA8rJ8vzsrqCaZnrPsZxultnTQ9CGHO7wBTnu53iLoT2tRef+gEITgE57Bmfeq0ZUNb1/YW3g/bxybE8DZ11fkXMc5GlhDm4B8ikWQo7So14GVmIT18epU+hYhGl5zZxN7XmNd8ocV0stxEwyAFE9e0EkDFW5hWg/Zm7GC3PDI8Oe5kZLbALtRRYLx54ew== 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=eYLTlp++C/NtlGtjVc1MZrVRfGOBi1sv5D6cIhUvnHE=; b=ogdxLxeHUzNb+PKMkpnnofNjR8BsrWhNeZX7yx6kDmiINAB9G0MAff63o+5It2fBJNMo2OQtJfIeBID26241BtthpHOXRCgoYd6rDkMzuohOOy8bPYimceFZnx+o5mrkYCr1C0oZm4vfz2xj47YJDa64J8erc0LlSkCSRLx9zKKO/tzkmkfHcYirpH3DwQ5piecQha+ecFX/dqMCiXGau3hCcUl7LM/p/saOo4yuYDjT12xyQqkJsTz5AZ0msii1/t8SjYaMyU0SqkcoO3pBw6dhi7yk0noZOHKQbu3rN9t5ZynJ79gis7xO2CxWizkibTwZhrrLyVvwINvIk/jC0g== Received: from AS8PR01MB7944.eurprd01.prod.exchangelabs.com (2603:10a6:20b:373::5) by VI1PR0102MB3230.eurprd01.prod.exchangelabs.com (2603:10a6:803:8::26) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5206.24; Tue, 3 May 2022 06:38:19 +0000 Received: from AS8PR01MB7944.eurprd01.prod.exchangelabs.com ([fe80::1854:2c30:7ba1:c431]) by AS8PR01MB7944.eurprd01.prod.exchangelabs.com ([fe80::1854:2c30:7ba1:c431%6]) with mapi id 15.20.5206.024; Tue, 3 May 2022 06:38:18 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Tue, 3 May 2022 08:37:43 +0200 Message-ID: X-Mailer: git-send-email 2.32.0 In-Reply-To: References: X-TMN: [FmlMJVhi51SXu879medABV+Pj6iOtxvZ] X-ClientProxiedBy: ZR0P278CA0014.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:16::24) To AS8PR01MB7944.eurprd01.prod.exchangelabs.com (2603:10a6:20b:373::5) X-Microsoft-Original-Message-ID: <20220503063751.2261222-1-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 3f66ce43-5bda-442d-83c1-08da2ccf8228 X-MS-Exchange-SLBlob-MailProps: gjx25WM8ZNUfFs0p/ynZxoLjq6nuVP/rjsuUE3G4c8SxPO6Ayvp1lUaP5A5U+1cBu2zSAs8X4rkk5TU+1U5BV/6ZQeQlz+zsyHY7kroxgIrekCayRrG2HxPFRLzy6naiHZt1e381WS8+5FaZLTwlR9DK1XO4QPy1XPAufA8zHTrmvWaufxBTAh82hu5Wxe2NwyAJmZHP3JbMjeiXkqZsCgDaG/fRSxMOmGMBJFOJHsGGAU8T0BU0SqUgH3RzThpAwUoCZ9R7Ehp0Ep75lgQl74UYh/+88IqyE1f9LLn26OIsxAXMdOMCwdWZN1guDB+xIhMy9tis56F/jjivtcMK7EC3ixrvZkoDnYRhfZKx3zOIUi/EkAt1zqH6N0v2Y0ku/WvnCnQ/Em+mJErVWXIbf28LraSg+h7tAg/YuEKC5hYvPYB2YLjkCUvkjkHMMBWh24PYujS/a11AF1+SAIyUTDOjRFWgcZiMcHYh6rZp7SyOmzv2RMxlUcIE+n6mgDYI0ytwzad2uWJUqW2oOPHZKmE/yx7Swz5OzLTGwVbDCoefp35X1b236tFPZcTtAjVSH2HSKzZxAdz4/hFrbmUZZvocNvw+guV9rzvrSxh/aqS0uUruvRYqJApDppC7JUZjQqzIUJ/qzuSwgBP9YikVjmInVfUUoaGn2lXXgtrpSXpdGBKv83uX/pvbo53L9fYw3FxFYjQpH5Kme06Ov45fX79ih12RDPR59IwQWvTxZrs= X-MS-TrafficTypeDiagnostic: VI1PR0102MB3230:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 8bVP7wvO1h0WdmjtmPuzKtmJMqSXvADOe5EcU6uY6W0J8tc9Ynuu+wYy7C0aJ9prWqLiYoNRRH0+VRQvRzbSLPex0QEYt5Hed//waeT3Ca+ZuauVx1/rEm6aO+i/SKRZoTOncS5QEaeXG4woXWVg4rOCv+7Goe56WafMTo/tkzVqecOmzTFUTLKzXDDDPgfn5oD+rQfUxCebUmO5mF4BXjMKOWVo54tZNcG0byoy5U31gmMPmSaPlpuR+7ZDckBRfvMPeDD7NV9i+hOmnS/R/yQpxlMgTYTXkIpdDauAo6AgzjbzyotRQWSt7Btx72wqqtwRFTKPMJ+YUXlUf3qWaYmNJai/pG62QsWQpcR75WfWlkD4x6xEt1nz6FVwX9YxMrsrwYz4j6trqCV5hg8chnoB9rzTJwogl3S0uaMX15/yRPwT6t4/+Ks1v+5oWsx2PQtEX40rEn1K//3B6PzvnLdJC0RgJxa33nxm8h7LLIWk6H6Id96i/+ibfmHYicfrbkikLswFQPIqXVjTphKCtpslWVIaWBiY4NXb2BCZOcU7QiIXD6mQ8SP8ZL1nLWPMIFBareZU1/2YxXwL0p7qTg== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: kvcYh4eSkSrNikIy9xdwzqmdtWmyh8ko7I6jwCffhGDlfetDJM/urkuCReQkPPq3VT7/kIgYciG0HZAzn8IvGQO/2Xd5gy9oHCx3indLFy441r12nrj5BamavrPQO/CFnJDZi+AIsCuT3gKeZIlTMTAC2QtrlJp5/7Op6InKNFyXnR5mqK9IPx2lvmsCZ4uRQsulKi7MwPfJboCdX2dB2bhXIUdl6pD8hFYht3Rh5gPlkMUC/8Zl/Q5PEOKHA0imb9pMdo9WnqYbWz1R8P94gNkUpIVbrk6ZdaxxFqo0ihZOCJCoIv45Ldi3YQymguC6We/6xLTRQtFJQU4HucJ3qhF2bFz7auOpWo6tbZ+cuczKGt35+gLIRwP96BAdUAOAgXeL+hTFmx8dFtGO6lKHOE6rKXdrHMNkbiWFm8Yd6J0h0LQbW8dMZbNZ4PMHtast/W05lg7d8oJYoDkZcjxEaUe0gCWtkXsdcyquXitCSiIdhox8UlgAAbj8YGXmKq/rnLWAUPzYEA78LfB/8DGPszdwbxXyVNOLPZV9nkDYRPkG4vw25VSlxmtFkgJkIulVcNynHMMsn1YvPCVQxRQjTwTEqwsFHaXr8DGs1djRg84uyyFpAunmpfl8jCo4NIcIuZSqct5Mcn7PzZOaMu6/GoTmD74fk2gxzWENjWuTcMZ8RNrzkQ1UcOJlgqhUnqNPDFnYEueVB//GHo/wwV7Go73t159HeFHUdB4wbQBBlQSD5kgTrK7IPzUK3KPdfKm8D2FAqRMX8aQjsB0e2pX7dVMcDeV58elGBA0vFLPpdcRJLv/TDDhTZWOTfyn3vqUEIHAB8GU33DfX7kowClWyTz8Q4cPmde9n780nz6iEEq2Fg3li/xdm0Fm/+RExzkdWi2QjexF7cnPlYLKYPbbAtfJsLv8e0ssgVYpqqcRF0ASPLPyV6VE03Cn7JrITqehCZ3n4R+1rgcZly2nEh96cGgbwp2D+ObE2uN6E+cpc7+kkCjbAKxQ+Hu9TYeSRt5X2PuJAIFNfevaYdjo9x2IO77nu9d+xXwLh51mrqkAgbXme7nTIhMnUHWR13joPEdQqSFLqxgI10ArXWtHuzOPPBbF9aSUyh9lTH+a+WodSVZjR44/TExlCTz9YFC7kpOoN5/13+JW7LYkpmZFX1m0DCv+nU85yrhpFnTgepRF+6Mh/C38SjHbsNqeoBNMixnrBSt5PSZafHX/xA55OlXbZlUVz+WarEsWjOnmWhP9UEFn9vULaIjQ6TGzAXZ4TtBTZnhvHW0jgX3TT3nk0m9LVUZGh1vDT78RAENPoheO3Be27JVFx34AWBBnIsNAvoY45WdJTik+ZxcLmEN9czEgX+/K7+JF+EgXenSM8LFR6vtUIGhJteYd+v60tORdRomWqxJqp79nXE+ZPONliVfnou3mhY14Wr/x4ey2wbSAB4V1cvShwemEkTAZP0K1k4GO/M3qdDAQEKmwnfLowJjrAQw== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 3f66ce43-5bda-442d-83c1-08da2ccf8228 X-MS-Exchange-CrossTenant-AuthSource: AS8PR01MB7944.eurprd01.prod.exchangelabs.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 May 2022 06:38:18.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: VI1PR0102MB3230 Subject: [FFmpeg-devel] [PATCH 02/10] avfilter/af_afir: Move ff_afir_init() to header 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: JE8tqC2YvFiM This allows to inline it in af_afir.c (regardless of interposing); moreover it removes a dependency of the checkasm test on lavfi/af_afir.o. Signed-off-by: Andreas Rheinhardt --- libavfilter/af_afir.c | 25 ------------------------- libavfilter/af_afirdsp.h | 29 ++++++++++++++++++++++++++++- 2 files changed, 28 insertions(+), 26 deletions(-) diff --git a/libavfilter/af_afir.c b/libavfilter/af_afir.c index d7ae468428..301553575f 100644 --- a/libavfilter/af_afir.c +++ b/libavfilter/af_afir.c @@ -110,23 +110,6 @@ typedef struct AudioFIRContext { AVFloatDSPContext *fdsp; } AudioFIRContext; -static void fcmul_add_c(float *sum, const float *t, const float *c, ptrdiff_t len) -{ - int n; - - for (n = 0; n < len; n++) { - const float cre = c[2 * n ]; - const float cim = c[2 * n + 1]; - const float tre = t[2 * n ]; - const float tim = t[2 * n + 1]; - - sum[2 * n ] += tre * cre - tim * cim; - sum[2 * n + 1] += tre * cim + tim * cre; - } - - sum[2 * n] += t[2 * n] * c[2 * n]; -} - static void direct(const float *in, const AVComplexFloat *ir, int len, float *out) { for (int n = 0; n < len; n++) @@ -884,14 +867,6 @@ static int config_video(AVFilterLink *outlink) return 0; } -void ff_afir_init(AudioFIRDSPContext *dsp) -{ - dsp->fcmul_add = fcmul_add_c; - - if (ARCH_X86) - ff_afir_init_x86(dsp); -} - static av_cold int init(AVFilterContext *ctx) { AudioFIRContext *s = ctx->priv; diff --git a/libavfilter/af_afirdsp.h b/libavfilter/af_afirdsp.h index f72ab7cd02..05182bebb4 100644 --- a/libavfilter/af_afirdsp.h +++ b/libavfilter/af_afirdsp.h @@ -23,12 +23,39 @@ #include +#include "config.h" +#include "libavutil/attributes.h" + typedef struct AudioFIRDSPContext { void (*fcmul_add)(float *sum, const float *t, const float *c, ptrdiff_t len); } AudioFIRDSPContext; -void ff_afir_init(AudioFIRDSPContext *s); void ff_afir_init_x86(AudioFIRDSPContext *s); +static void fcmul_add_c(float *sum, const float *t, const float *c, ptrdiff_t len) +{ + int n; + + for (n = 0; n < len; n++) { + const float cre = c[2 * n ]; + const float cim = c[2 * n + 1]; + const float tre = t[2 * n ]; + const float tim = t[2 * n + 1]; + + sum[2 * n ] += tre * cre - tim * cim; + sum[2 * n + 1] += tre * cim + tim * cre; + } + + sum[2 * n] += t[2 * n] * c[2 * n]; +} + +static av_unused void ff_afir_init(AudioFIRDSPContext *dsp) +{ + dsp->fcmul_add = fcmul_add_c; + + if (ARCH_X86) + ff_afir_init_x86(dsp); +} + #endif /* AVFILTER_AFIRDSP_H */