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 E65D64A028 for ; Wed, 17 Apr 2024 18:29:08 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 1875268D2FB; Wed, 17 Apr 2024 21:29:04 +0300 (EEST) Received: from JPN01-OS0-obe.outbound.protection.outlook.com (mail-os0jpn01olkn2107.outbound.protection.outlook.com [40.92.98.107]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 991F968D2C3 for ; Wed, 17 Apr 2024 21:28:57 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=M13Kqvd4VKPcbeiqBfPLy5nwL+kg5EWhQ7QcEbek91AR6qcmJJKmWYIBuxc/Y0UFvFdzLeBbXsjpvkZMCdtcIm03NNWsAtJLhloqs2sKLQSfGhYjowV6ML3BeyFvQVctNhq5jQYTapYtJLvLOno8w/xtSEO5o82Y2MTNspkQa9EaVYRue9A0rj1n7tYADcTmsc1QhUGqSgjQdV0IHtCAQR1YnZbI69GJoUFHGVdEEfKQPgaCvQGhSQ6amzEudnqd7BHOaXeGRVWh1eC30Oxxys6ZzLYDUqc98nnDJ2HvgBPgZXDT7LjYUfILkq92W27zHuab68SdT394FU2czhBy9g== 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=UrOUElwSOMo32LHbaC1SoIlcDMegKYMuD59W4YVrbzQ=; b=DrFHfnQp3XE2+ni+VcR7PYhzEe/Voj9YluX8viq+1rs/mUpODSP/llJLmwKC4d2TAaIcWRY9+tgjnkQWA5Y69tB4wYHEKo7gaX3SSInKFdyH3oyJmi0qNtn+bLMH8/qHOunwyjaA2owqPwx0uf5OLZY0TcW+SnxXI/IoqmRw6xAYnIe1tDEL07Wt+eGN/NW/qwoUWgYU84E3IwdwBObat52QvvNzyTnTyZsypbK5VhieSZkI+PjvdrmAryQpw1qUI8Q1OVGOrgLOZZx3nfzRPkyliA/g1LJBp6Z9lESroImIlXneMp5D7sgh4zwist5TaDouJgRjEcdwaZkMPyugiw== 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=UrOUElwSOMo32LHbaC1SoIlcDMegKYMuD59W4YVrbzQ=; b=RDqiw8XDi5fAGsIQQu+5Brv/HSKs5CrxXYiR/GPaPo++qTVfCUhB00W97f5hNjonC10J6tzgTf/SN1u0AgUOgCfIZCcHCQGvBkV2+6i1N3qPBjWbnjm1e2szWZ3nRPogDw3Xyzj4d4uh4bg+QqfAB5OX+7fv3FxHBXzZbkzWfjPxyI9I564RpqvIPjQQU0paGslY95uf7KNJfw26siZl8xTEL32AnPTZRKY+DvPuSxavoKUDSbp1SNldzVGJ9wNG7HKx6k4CAWdDXOtUQqWfTtvAT/WVnCT56Ccg9bbGG7IlW9STUJeznb9WxDeq9sqTBuIcmsyKb/c7T8FUS5Lfbg== Received: from OSZP286MB2173.JPNP286.PROD.OUTLOOK.COM (2603:1096:604:186::5) by OS3P286MB1613.JPNP286.PROD.OUTLOOK.COM (2603:1096:604:178::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.37; Wed, 17 Apr 2024 18:28:49 +0000 Received: from OSZP286MB2173.JPNP286.PROD.OUTLOOK.COM ([fe80::c2ed:24ae:fd4c:fee7]) by OSZP286MB2173.JPNP286.PROD.OUTLOOK.COM ([fe80::c2ed:24ae:fd4c:fee7%5]) with mapi id 15.20.7472.037; Wed, 17 Apr 2024 18:28:49 +0000 From: toqsxw@outlook.com To: ffmpeg-devel@ffmpeg.org Date: Thu, 18 Apr 2024 02:28:22 +0800 Message-ID: X-Mailer: git-send-email 2.44.0.windows.1 In-Reply-To: <20240417182823.986-1-toqsxw@outlook.com> References: <20240417182823.986-1-toqsxw@outlook.com> X-TMN: [BlKIbsJDigdkKLHFxEh6KOcDBK5nASjF] X-ClientProxiedBy: SG2PR02CA0126.apcprd02.prod.outlook.com (2603:1096:4:188::11) To OSZP286MB2173.JPNP286.PROD.OUTLOOK.COM (2603:1096:604:186::5) X-Microsoft-Original-Message-ID: <20240417182823.986-2-toqsxw@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: OSZP286MB2173:EE_|OS3P286MB1613:EE_ X-MS-Office365-Filtering-Correlation-Id: fea79d58-a1c4-4305-ce80-08dc5f0c3986 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: kczjAtt70EJGa9M+oTNjZHvh+DME62+uKWV/6SuxIvG/rF8pt4yJD8KGvZFLQfUS7eIg7OiNqeRq5m0Ok36wjGssUKZg03u0YS54oyxdQWCQ40V6ZStMZLnZ9+Nvr+LyAhU9VgxSjqTx/1izVao2be0HLsniXN2TUKaeKXEgKISuaKMuk3G+j2okXwmdXEUt1Bviuglx1j3/vGVhpTOtFwcQh82t09RXvQT6jPwQtgLBHV2aWVItxMjTxsDvK+mXiRitaO8StF0/xzyYIb8rptPGMMDYjjgDvVEFcMJw6nECBH5ntPrhBzzLKJt1pUC9pfb7pbOPxPEDHnx9dIJHJpMERnuIs4rZpdLrdUP/7A9nsu5ppEQOt88Sg8WCSHdVnKLmcwoSiP3j01CgdG73J/tWRhIFginqOm+PU9610wLuLhgEQppoakm+1NVWAYqh+bmz2J/+D3MjC/PMcDCUUH0OIZE20iOa3bA7IrJ2FTtZ6CBeoEZCryDBA2VYTXfFyn4zOUII0Cpfmp4UgNtA+g473SF3LbdKqDIACXfNVUyTtqLQL6XW3C5wzwbGBfiiwEXohcGMTorgzo0EwuoWQREahJ9WLASMhuzEM2QteaYFBbckf+yUPtT2RS0Czu8P X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?IeyqWw+55X4XOZGwtLGH8PlEf44oAG5TD/o1fRLlaVKs3L5UAa8Jkh87Br8D?= =?us-ascii?Q?dXQOQEwNjpWMRR48DFWu0SMjz0aUGy/KMPq21QzjmW6n2dTa97H8wnvfCXG3?= =?us-ascii?Q?mqawRKbEA1ymPbTrxAD92M5VWs1mRton6ypiGQMYJd66KLwUt5K8sAtqMcqn?= =?us-ascii?Q?85jkA3cO45xbqaf6oFCm///bIrmtqs2ekO+Hjc41j2cXQJZ15ErQl8a4CSsb?= =?us-ascii?Q?hq/z4pY3t0cAjLTn+Nd89mBViyQM8ixFC/HX6DeIqH088tGF//FlYEYQcx8W?= =?us-ascii?Q?Fn7gSCfAFg/2roJXgOYzRwfvhfATwsxqZb8Ba8+X1AW8yysT0Rf6YtWaoKoZ?= =?us-ascii?Q?YAv0adqgWYfsClWBn97NaFufnL/J+VWaLfJjjn7cjP30awyheoVgErZ8zMx7?= =?us-ascii?Q?DOCkFqEWyvuRh6p+LtCvknLr4ddn23VieQjXiIIXw55VQQXXB/iX5ZfEOsoX?= =?us-ascii?Q?8/nVsmmN33Fa+00eV2HfY9yaNhitiYFIM821Qw1DkZvXsJL7xRP42/f12ORr?= =?us-ascii?Q?YegrOkYLs2H18RTJavqJVSbPsNgfLiMFAOKMuXlKqS9iZteqq3hKpsGItiQU?= =?us-ascii?Q?IsHmH94FdXODZonUG4LDZPdYepzd6i2ACIRzHMwC3i5Mo+zafzFAO0GezoDA?= =?us-ascii?Q?jiQGNwED5yqBEzMjqkc1njP/deBzCmLLCc4C4pQlYO9Erlusk/TDO0aHVbEG?= =?us-ascii?Q?cNoTmXSmPl16kkSz042txBKym23AyTbbcpDEPOpjI2l5Ty3wNuVqlY//Ik2q?= =?us-ascii?Q?a1APx6fGGAIzZukQElkIckQApVuWIUavfpCXRHy4OgzODNnIfiyX3Jqzw2ma?= =?us-ascii?Q?kE202v8TS1HkYPBnFC8DUvPERRa/wHQHkhM0oFpDaKvrbusQKHDB5gsnhL8W?= =?us-ascii?Q?SNaDl7+EVrYakBXcT7TDz0qiUlucHakN3NJenULJ/mzvHjpsh6aZ5H+NfUGl?= =?us-ascii?Q?/Dzfn68BkuLWEYXuRHg4t3Yq6Qq4mKKvv0F6PY7qc/wDm30Gb9oirZVzafM9?= =?us-ascii?Q?qnwJg0n//Ix5Y3eCnQcK3qtIK/UdFCVZ50NBF54WdRGJYUFhrcwQ/wMi51s7?= =?us-ascii?Q?Vg0FEfn1lqkNkrSh9z1ISo914P9TqkHB8zyX5EhMavezYpR084OXcvyybIg2?= =?us-ascii?Q?pFZk+RcWouf2KaGZs8/38Qp0JV5IaT2pXZKOopN5rT+id9Q4YkpmpFZbrBvd?= =?us-ascii?Q?mrZipIctC0yN1glAdfB10zUgboVUdpu5laLF6VQYOhqlQOR+J4FAsVLL+qs?= =?us-ascii?Q?=3D?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: fea79d58-a1c4-4305-ce80-08dc5f0c3986 X-MS-Exchange-CrossTenant-AuthSource: OSZP286MB2173.JPNP286.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Apr 2024 18:28:49.1317 (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: OS3P286MB1613 Subject: [FFmpeg-devel] [PATCH v3 2/3] avcodec/x86/vvc/vvcdsp_init: add avg prototypes 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: Wu Jianhua 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: From: Wu Jianhua When we used the --disable-ssse3 --disable-optimizations options, the compiler would not skip the MC_LINKS like the compilation that enabled the optimization, so it would fail to find the function prototypes. Hence, this commit uses the same way to add prototypes for the functions as HEVC DSP. And, when prototypes are added for the functions, we cannot add the static qualifier. Therefore, the ff_vvc prefix is needed to avoid the naming conflict. Signed-off-by: Wu Jianhua --- libavcodec/x86/vvc/vvcdsp_init.c | 45 ++++++++++++++++++++------------ 1 file changed, 28 insertions(+), 17 deletions(-) diff --git a/libavcodec/x86/vvc/vvcdsp_init.c b/libavcodec/x86/vvc/vvcdsp_init.c index d9203f4d5f..aef6699c35 100644 --- a/libavcodec/x86/vvc/vvcdsp_init.c +++ b/libavcodec/x86/vvc/vvcdsp_init.c @@ -63,6 +63,30 @@ PUT_TAP_PROTOTYPES(8, sse4) PUT_TAP_PROTOTYPES(4, avx2) PUT_TAP_PROTOTYPES(8, avx2) +#define bf(fn, bd, opt) fn##_##bd##_##opt +#define BF(fn, bpc, opt) fn##_##bpc##bpc_##opt + +#define AVG_BPC_PROTOTYPES(bpc, opt) \ +void BF(ff_vvc_avg, bpc, opt)(uint8_t *dst, ptrdiff_t dst_stride, \ + const int16_t *src0, const int16_t *src1, intptr_t width, intptr_t height, intptr_t pixel_max); \ +void BF(ff_vvc_w_avg, bpc, opt)(uint8_t *dst, ptrdiff_t dst_stride, \ + const int16_t *src0, const int16_t *src1, intptr_t width, intptr_t height, \ + intptr_t denom, intptr_t w0, intptr_t w1, intptr_t o0, intptr_t o1, intptr_t pixel_max); + +#define AVG_PROTOTYPES(bd, opt) \ +void bf(ff_vvc_avg, bd, opt)(uint8_t *dst, ptrdiff_t dst_stride, \ + const int16_t *src0, const int16_t *src1, int width, int height); \ +void bf(ff_vvc_w_avg, bd, opt)(uint8_t *dst, ptrdiff_t dst_stride, \ + const int16_t *src0, const int16_t *src1, int width, int height, \ + int denom, int w0, int w1, int o0, int o1); + +AVG_BPC_PROTOTYPES( 8, avx2) +AVG_BPC_PROTOTYPES(16, avx2) + +AVG_PROTOTYPES( 8, avx2) +AVG_PROTOTYPES(10, avx2) +AVG_PROTOTYPES(12, avx2) + #if ARCH_X86_64 #define FW_PUT(name, depth, opt) \ void ff_vvc_put_ ## name ## _ ## depth ## _##opt(int16_t *dst, const uint8_t *src, ptrdiff_t srcstride, \ @@ -202,23 +226,13 @@ FW_PUT_16BPC_AVX2(12) MC_TAP_LINKS_16BPC_AVX2(LUMA, 8, bd); \ MC_TAP_LINKS_16BPC_AVX2(CHROMA, 4, bd); -#define bf(fn, bd, opt) fn##_##bd##_##opt -#define BF(fn, bpc, opt) fn##_##bpc##bpc_##opt - -#define AVG_BPC_FUNC(bpc, opt) \ -void BF(ff_vvc_avg, bpc, opt)(uint8_t *dst, ptrdiff_t dst_stride, \ - const int16_t *src0, const int16_t *src1, intptr_t width, intptr_t height, intptr_t pixel_max); \ -void BF(ff_vvc_w_avg, bpc, opt)(uint8_t *dst, ptrdiff_t dst_stride, \ - const int16_t *src0, const int16_t *src1, intptr_t width, intptr_t height, \ - intptr_t denom, intptr_t w0, intptr_t w1, intptr_t o0, intptr_t o1, intptr_t pixel_max); - #define AVG_FUNCS(bpc, bd, opt) \ -static void bf(avg, bd, opt)(uint8_t *dst, ptrdiff_t dst_stride, \ +void bf(ff_vvc_avg, bd, opt)(uint8_t *dst, ptrdiff_t dst_stride, \ const int16_t *src0, const int16_t *src1, int width, int height) \ { \ BF(ff_vvc_avg, bpc, opt)(dst, dst_stride, src0, src1, width, height, (1 << bd) - 1); \ } \ -static void bf(w_avg, bd, opt)(uint8_t *dst, ptrdiff_t dst_stride, \ +void bf(ff_vvc_w_avg, bd, opt)(uint8_t *dst, ptrdiff_t dst_stride, \ const int16_t *src0, const int16_t *src1, int width, int height, \ int denom, int w0, int w1, int o0, int o1) \ { \ @@ -226,16 +240,13 @@ static void bf(w_avg, bd, opt)(uint8_t *dst, ptrdiff_t dst_stride, denom, w0, w1, o0, o1, (1 << bd) - 1); \ } -AVG_BPC_FUNC(8, avx2) -AVG_BPC_FUNC(16, avx2) - AVG_FUNCS(8, 8, avx2) AVG_FUNCS(16, 10, avx2) AVG_FUNCS(16, 12, avx2) #define AVG_INIT(bd, opt) do { \ - c->inter.avg = bf(avg, bd, opt); \ - c->inter.w_avg = bf(w_avg, bd, opt); \ + c->inter.avg = bf(ff_vvc_avg, bd, opt); \ + c->inter.w_avg = bf(ff_vvc_w_avg, bd, opt); \ } while (0) #endif -- 2.44.0.windows.1 _______________________________________________ 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".