From patchwork Sun Jun 16 12:07:07 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 49946 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a59:9196:0:b0:460:55fa:d5ed with SMTP id s22csp1372866vqg; Sun, 16 Jun 2024 05:07:29 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCXBvyNlQzGqS0cVqhPCCTHC+5V2s+R1XpZ/BTf6s28M2ACdoxlC2YSQC/WP9s1ejRuxYbqE/xN0vK/vADdAo9BOpuSpPx3QGXrepw== X-Google-Smtp-Source: AGHT+IFkqtfgc5r9Xk1bKZqlPCgOHgwEysllRx97Unohse47Js86LWQx4q90Bd2hNshfoCoDDL4W X-Received: by 2002:a17:906:48d:b0:a6f:f1f:1d5 with SMTP id a640c23a62f3a-a6f60de5efamr407103966b.6.1718539648938; Sun, 16 Jun 2024 05:07:28 -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 a640c23a62f3a-a6f56e26c08si350950566b.772.2024.06.16.05.07.28; Sun, 16 Jun 2024 05:07:28 -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=HUTyPbeh; 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 35A3F68D6DB; Sun, 16 Jun 2024 15:07:24 +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-db5eur02olkn2049.outbound.protection.outlook.com [40.92.50.49]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 87B5868D699 for ; Sun, 16 Jun 2024 15:07:17 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=c7m57rYhxy0PyhJnSS1IGEknuPZGmtYlXR28vKk95kEbDY97OBXrVL75TTYvbybbQL9sWZQ9gJPefA3XmuEX+Za3VOokAwvlKZdDeP1ECsE/WuNorQsgCg/zBZbQibzosVVteP8sKN3wtNH3oaKApXPsdBdsZ+/v1smE9gUe3HHrEEHxyphXQvmirvNciGe6YEddfELbuRbDbgLp3qYMIw/XJcSaQg+tgMwGWn1o73qLNZERyUbSUcSRVxOf+m4zboe+gCSGNBCBCcq9XpSjo62+YD7xv/HZfHfRrg8zkElNOBOomP9cS4kAZN219UMaajQJAV2ibynORWQ5C8Wrvg== 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=qgOIaxEbzA3KfsW9xvv3NkgDas2h7zEt4J+RwWP2r90=; b=XFhK9c015yZxvsGk67HeZ7jKHqHtfYHlDzlBjDNfS7vq47Pk3y6+hGQVeFEgTVDXJUvGcLgmvOGnsJKUUT44fux5Uw/6S1+SaKpAyH3asnhoXrlJRN9OaBKQFJpIvUPG8fV9fftFCezvpOn6cv0gHZT2dfNS8BP5VfltIDI+PJcLadJxiU9Jpk7GJf9giA2bJB6csZ3h9uG+diX+QJgpqUm9agWdPKwCqCPTKOIkN4JdA7q9n9u9OBMdzPqizT5NEHBfH3QeC5ClTN1nE9mfMXBpXiEBpTCVUqr7eQb8qr2uXOFdYMYlHG8voG+E5RfsMOyyGE59as94a56c0lsA4g== 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=qgOIaxEbzA3KfsW9xvv3NkgDas2h7zEt4J+RwWP2r90=; b=HUTyPbehN3T5fBFZldZBxvzLBTTswT6RNChhpNo1Mu7XmAZIEBokyc/YrY2HWKIdgGJlRF4Ct6to5acnMsKseaD5lAbg2tDlUUWnHaoJPoPUkLB19TCJMiRA0Rzqdq/6+zePoo8p2fFcKif5PsAyzI+H13Nd/N4zPwUNeS4HHmXGsH5zbvWn8xZcyPa2rAoiE2vDj6HC1qJdVkfcRAhtG+/llxTBmOpGzpEP1JEq/w4pOFc0YvnWfrQSpMEtrrfmXzBP7xEHsquMkLuIMf8Aw7Ahk8cxVqsPvcrIfItbygn7w1rDdn7ckd5C4hPzTL3In2C/dcDxmadUDSX3CnVIFA== Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) by DU2P250MB0240.EURP250.PROD.OUTLOOK.COM (2603:10a6:10:279::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7677.29; Sun, 16 Jun 2024 12:07:15 +0000 Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::384d:40d4:ecb7:1c9]) by AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::384d:40d4:ecb7:1c9%4]) with mapi id 15.20.7677.029; Sun, 16 Jun 2024 12:07:14 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Sun, 16 Jun 2024 14:07:07 +0200 Message-ID: X-Mailer: git-send-email 2.40.1 X-TMN: [hUp+yMZrQiiJvkvvm/lhdsIsJeAtJCh/gIKTZqlwctc=] X-ClientProxiedBy: ZR2P278CA0041.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:47::10) To AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) X-Microsoft-Original-Message-ID: <20240616120707.101548-1-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS8P250MB0744:EE_|DU2P250MB0240:EE_ X-MS-Office365-Filtering-Correlation-Id: 874ad0e6-8db7-4f8f-4b17-08dc8dfcdc16 X-Microsoft-Antispam: BCL:0; ARA:14566002|461199025|440099025|3412199022|1710799023; X-Microsoft-Antispam-Message-Info: GSSFEr0nV7rB8r+dUC0kQs8gAE0fHXYHsJmxu/glkL+8hug2s+7rDaNBDYni2ykNPgcFwStHsMvZsGios7bQbRrqshDjXbl0M9P+zQiMBWQkVA22QRJmJ9uQjkUDAfg3MOiDNAgN5OCZgZS1NbM2Y5iUUyWm/UgZX0HMUbWqn0LUvKXwRXarM1sFiz7YvgvHCp7gHIVUcYqQ5IV/gv9kr+i2ahDakUuqEtfdaqHDYfsZpCaw/LM2d67HfeXBgxS6rqPazWmAeo01svnbx6ne33MSKbpP8YxAiLqlRFxwuFtS3de5lfldpqowluw3sI7p+dT0Vf6UhJhGtdo+G89u06BPGAg9P0HsXCGQC/BFaPlxUPW2sp01ALwcpO6cVH07SCLe2THW+9GF4wucSFig1G0fS4pU+lNgJRYDE1BXNx+gILD0xykYgIYLMTp6VcrURqaEDid0koe7ju0fzigIPPB2AToaKyiukxTUMv6mMzaSuKRMt1z7Fr21dqTJTnkItEqc0oY+w5ppmg22ZMRLQlbQRbBZ/K8FJkG4L7/jRUGg3YWsOX9rdlGMuwirrAGDEYWNBkgvKX51jGL2E8Gf517QZasIEom7fWBC2yopqaVvMFC2p0Z6skKRkZ5GvIsg X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: sgdbv0X1GmkSJRsJFvO0h+fd1767HjX907S0nPIg0AU6UL8NQDIRxhhRaxaO7lFvxi8OGZWzfYMIKLxxdCgWr1z9VkJev7Vux7ClzBZ0Dk0qCN7fAdzZW3akDgt3FU7/k5jgO88HrKivY3rdG7+8fMviCyyhQAZjyzE5DkpXvmRmFSmg45vN0OEMUkdavZMkhthuYi5eQgd/ZMgN4stvY6rmTrwW/pt2nFFKSpICjtk8iWy3htbZBzYetbQC3vUa5ZEQGK2dwkjBnqAs3oTYiCO3XesmICu7P7tBF0AOYWSc4u+MrNaPvB83mWWTelKNesn2Ms2XSam1oTY2q/4hpCS7WOazDemfARia/JSqxVbU+8ipXwuYOn+qcdzU2Ec8NMvxMpr6ZFdHR94hq+MipjZMRBU8getwIU4YQk61ClBaceuZBA6o+CjVHJSGiPPxw2FTHLGVwOa8FYcIhTx96P2smtbgdq7JO5cHwL/ArMo6oOSxz+nxhP7fXbtDfQ2bZnhqxWxeQ9BDfHSSndMcpYV8pfuUEVWGNOp3jwwF5D7tqVZGy4ZCHmcDb/1Gm5vV6uNZ582wnu2UJ/8K7KOi2yTuH6CPqvocxFT3zm7iFuABaqsc7rT1F6oSKTmslf+QJjgNzb5FVVa67uqAV2TsFq+QbgvpxEWPJ/6787Op0qAVu6CBzCXXry5msKhMBbm1TSl1zwLQAUb8B9P9YJuG35qNwG1JOiVOQMq+efBbgiZvIbXMbb4Uvp5OYTJOjsL7Oup3BdctSfvTPGfsTC87BHpc8kF+JcjoxT2XarXImsuZ9CVWnFipQNlAx6s9InN5omLKMbIwmA1rgM8iHU6rROAXaha996NNdzFX6Ih8LGF/YvunLsVBGVQXHDo8Evvb0nrFJJOWR4GsX+p+fOFEg7ARYVtC2KRR18EjVeMQxCMYTs3zc0LRnhjsdgpJ3BfYbE3PpRyH/twkveTJHETc49GH80Lt5Age25QTwgj0R8c0SYcRQbneP2OfkVV8wCcTUTOJD2Zze7eI0NlmYrhnm3i7RUd0gxD2zmGerYF8PBP51cKjU9S/h1BfX5cYlCYhUsTsInSrPFCSzPrM3hSjbmZul8sNcFMhdzybx4KGykjxr4lmvHE8gx2gpXV+qYceoqgnKasDuvo0MNq7CO4iMQ6u2zqywadVwWUvub8iHCh0ZhToliXAj5c0WVFkLESUmVy/fDE8CgOTt3MRCFMhlCPjA63z6X/fApaONjfkw/p2ILi+iBovWX7dNNTSlGi0jhOpLb/87eqybURR/udn7g== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 874ad0e6-8db7-4f8f-4b17-08dc8dfcdc16 X-MS-Exchange-CrossTenant-AuthSource: AS8P250MB0744.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Jun 2024 12:07:14.6592 (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: DU2P250MB0240 Subject: [FFmpeg-devel] [PATCH] avcodec/iirfilter: Move ff_iir_filter() to lavc/tests/iirfilter.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: YUVpszFUuiOZ It is only used by the test. Signed-off-by: Andreas Rheinhardt --- libavcodec/iirfilter.c | 14 -------------- libavcodec/iirfilter.h | 15 --------------- libavcodec/tests/iirfilter.c | 17 ++++++++++++++++- 3 files changed, 16 insertions(+), 30 deletions(-) diff --git a/libavcodec/iirfilter.c b/libavcodec/iirfilter.c index 727a370444..cefe35ab6e 100644 --- a/libavcodec/iirfilter.c +++ b/libavcodec/iirfilter.c @@ -277,20 +277,6 @@ av_cold struct FFIIRFilterState *ff_iir_filter_init_state(int order) } \ } -void ff_iir_filter(const struct FFIIRFilterCoeffs *c, - struct FFIIRFilterState *s, int size, - const int16_t *src, ptrdiff_t sstep, - int16_t *dst, ptrdiff_t dstep) -{ - if (c->order == 2) { - FILTER_O2(int16_t, S16) - } else if (c->order == 4) { - FILTER_BW_O4(int16_t, S16) - } else { - FILTER_DIRECT_FORM_II(int16_t, S16) - } -} - /** * Perform IIR filtering on floating-point input samples. * diff --git a/libavcodec/iirfilter.h b/libavcodec/iirfilter.h index d6b8fe2782..8ab8ae68c6 100644 --- a/libavcodec/iirfilter.h +++ b/libavcodec/iirfilter.h @@ -28,7 +28,6 @@ #define AVCODEC_IIRFILTER_H #include -#include struct FFIIRFilterCoeffs; struct FFIIRFilterState; @@ -114,18 +113,4 @@ void ff_iir_filter_free_coeffsp(struct FFIIRFilterCoeffs **coeffs); */ void ff_iir_filter_free_statep(struct FFIIRFilterState **state); -/** - * Perform IIR filtering on signed 16-bit input samples. - * - * @param coeffs pointer to filter coefficients - * @param state pointer to filter state - * @param size input length - * @param src source samples - * @param sstep source stride - * @param dst filtered samples (destination may be the same as input) - * @param dstep destination stride - */ -void ff_iir_filter(const struct FFIIRFilterCoeffs *coeffs, struct FFIIRFilterState *state, - int size, const int16_t *src, ptrdiff_t sstep, int16_t *dst, ptrdiff_t dstep); - #endif /* AVCODEC_IIRFILTER_H */ diff --git a/libavcodec/tests/iirfilter.c b/libavcodec/tests/iirfilter.c index 60cc6fc43d..e03e842b85 100644 --- a/libavcodec/tests/iirfilter.c +++ b/libavcodec/tests/iirfilter.c @@ -23,10 +23,25 @@ #include "libavutil/libm.h" #include "libavcodec/iirfilter.h" +#include "libavcodec/iirfilter.c" #define FILT_ORDER 4 #define SIZE 1024 +static void iir_filter_int16(const struct FFIIRFilterCoeffs *c, + struct FFIIRFilterState *s, int size, + const int16_t *src, ptrdiff_t sstep, + int16_t *dst, ptrdiff_t dstep) +{ + if (c->order == 2) { + FILTER_O2(int16_t, S16) + } else if (c->order == 4) { + FILTER_BW_O4(int16_t, S16) + } else { + FILTER_DIRECT_FORM_II(int16_t, S16) + } +} + int main(void) { struct FFIIRFilterCoeffs *fcoeffs = NULL; @@ -43,7 +58,7 @@ int main(void) for (i = 0; i < SIZE; i++) x[i] = lrint(0.75 * INT16_MAX * sin(0.5 * M_PI * i * i / SIZE)); - ff_iir_filter(fcoeffs, fstate, SIZE, x, 1, y, 1); + iir_filter_int16(fcoeffs, fstate, SIZE, x, 1, y, 1); for (i = 0; i < SIZE; i++) printf("%6d %6d\n", x[i], y[i]);