From patchwork Wed Apr 17 18:28:21 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Wu Jianhua X-Patchwork-Id: 48112 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:ce4e:b0:1a9:af23:56c1 with SMTP id id14csp1205438pzb; Wed, 17 Apr 2024 11:29:02 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCWPWv+ioYb4no+uRywpaTyKw3wNSQY05191v+WsnGKaV0zTx2siirPyV/UIFJORin4m8ny8hUH5L1LERCXmvknc3N76h6acb3TRtg== X-Google-Smtp-Source: AGHT+IHYMWTUSrRPRVAc2YfS0g2PKOolDGtYeELGnM/nIfXvQNmT8qE5HJrmv3VqbtoMwkHBiLzz X-Received: by 2002:a17:906:3844:b0:a52:572e:729f with SMTP id w4-20020a170906384400b00a52572e729fmr190209ejc.60.1713378542500; Wed, 17 Apr 2024 11:29:02 -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 dr8-20020a170907720800b00a5198d85cbfsi7355362ejc.403.2024.04.17.11.29.02; Wed, 17 Apr 2024 11:29:02 -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="I/Pcfd+W"; 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 32F5968D360; Wed, 17 Apr 2024 21:28:59 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org 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 1994768D220 for ; Wed, 17 Apr 2024 21:28:52 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ZQmCZ2bKIrV7no4+4/vGx0PlHUHnu9i5daXNjA4e3WnV5gzau3U9NwTWdRSY75t2Zt8LuNY3O8Z8h8J1FODASiWlkjQwbswf0pVxeU+aEUgJ/lHgjDxbxydY3o2HvBZkWulNkkuvx0qDwxKgTG7iZi+laCdQKRjl/XxY7YPkcOIYB9t7ik6pq0f+A3yI3TfaCpdTOAwmOZ0u3vaVvaIMYi+FwcgymvWSCrXh5IYoZn70786HXcMQAUnSbxXLMbcFYnuBxYUBNFFQ579UvqOuZZWu+EnhARiglYkCBTaVwRwshu9GOZVmgYOKYlSiqfyzg+YSQFQQnDISOIfapai0zA== 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=gTaGgIyZQpN15m+1FITipwGU4WuNijGmYikobBtAq5M=; b=MFitj+DMvqWYD5BbixSfZ81zLirMfc4pPlw/X59NaYz6iqcvGLG8SmonjAcKk80oIbobGfu/g+gBKAnnSID70P0wIYMskvpFQs7GLyg17UfInsDCXaRoskGq2ZKlxJGXrU+wMFOHZK+wpZ7zfS48iNZT8a3FlLNjidV6QHzFrb6p89HMmCAOsKe35jqUcnxsEWWrZMjJ1FVx0OxPsC2RepZK0yB5xO1q/b0HSEdeghQ8obB11Uh8LRC4UB2ilUm/u8zYvSZ40g9rTkPRcnpise7hiaUNl8jgICzOj57s2Q4QY6PyqJYoXegcU1q1CHPB4cemdhtfVdWryZZ4CBbLQw== 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=gTaGgIyZQpN15m+1FITipwGU4WuNijGmYikobBtAq5M=; b=I/Pcfd+WWbIdnzKmT3xxqn/uf/3DL5HyQUTanCDfDsMt+8aYHvdJzKzi8ZHYg1xzY0QbLR6+nX4hL3a6jMLPzJ14uT2/5k9bsmfP9aZXoh15zHAGQiDCbPfBXeH6LJH/vkJFdFVYS8OOAvlctrKcGdMa9w3tg6w2mrYq8dBiPo8KlS7gnpw0oXIQ/rX4hNI0Ey+atBRek/3PtGAISyORJpZctCtSEct+lrc2DnytXUJp0xowdgpLyvFkwgiKzu6TDIC/V8BnbAdZ372FzBNEO0jwJmAUYf7HMedeVhBZqOoRkDI6OJp/EBbxdxDThIxiRJ1QHJ+1VvfJqIW+FWiCiQ== 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:48 +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:48 +0000 From: toqsxw@outlook.com To: ffmpeg-devel@ffmpeg.org Date: Thu, 18 Apr 2024 02:28:21 +0800 Message-ID: X-Mailer: git-send-email 2.44.0.windows.1 X-TMN: [rn6aKSootQET/WHsg4NXiYPVjU8wsR7q] 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-1-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: 21f0d278-7e72-48ff-1fbd-08dc5f0c38f7 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: mrUK+5ZxXCyEZkQmuP8CPMkT0l8cw6jHvc7ruiyX/tgMpwKX3A67Dqc4BwiJQVG5h5eZBiGv+6MBLly8YDABolwkafsr5zrwDbtf9j/4QiMIM7fPcJZi8MptAT4nO/Z1tK7iH4cV+5VW2IxBTfn6DUckgmweWxeq+8LHYNwJhIxYy8KLFqRVgcCps2hKgGBHYrQPCJU0CFuqPnr46CeZSbCvYhYpGQaohIuYZs44u5UjcmmwNdDWQB0R6K5Ojdl0Va/kOAeGcDRy+ov0XRNsJENOB6Wqz9vgjUSlHoWttdB5t7o9jm/V06B+OWZXYpTaNi5+ins//kdjim/4TJErag911TFtSZSuWZc3KmR+ccqupseCFjz/yRyAK4NEn6KDvC+g0X1P2gUIDqo93kI5ZGbz//X+Yl0JOQRpkeFglJcB/j1g9O0oqlqv0AoicpcDwLfzPySpSFYwNSk1v4q21SJit+4NR+sk3TajfRr0QglUHKoSXNet2OebwsYZQXGZJyXwMWZcEOAH/xH4/D6NK1TgtQco97P7e8Fpz3zyEuPAou8C2iA4qzy0dTldqgdFcrfNZ3ZRhrBDoH65FydfvVuYjiE3+LegocMZGMGa45sQAixqS44b210+oLJMlYt3 X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 06bvjoXxW0xTuozKuC+zOgRK/Cptgajj38v1+al3yLj8Ro0tTOfV0KT/A99skmCqgBBv7Ww67vhMDcXRb0uwVJsAkE3wA/TNfJXsnkD3qoni/C3FLTl2Zck7NoX71m59rmUHa7ZNiUOyPwrqWhHZvXE9QcVNP/KVce4JknejJbAJodudS3t+fgmAL5nAK+SVwLbBFKfDxAxCPITK5sjFDuw57Qi2bL2afl6upGQ5bKOd842bEIIcUxzwD7Qq9X4y0iGWqkh6qeYZ229vF+pgp7B4DWf0pfmTnvSpqtItUrCeZMbbPd1l6CTMYdaCO3wT954n8ldGivZrgWhqPHuuM2C0uXBa/lzZBHNH/vHdKDZGOkvqPczpCGYVoQv4EpXCRlgLXrur9swRfHGBVGzKFGqtGaU99842IT8gXQ+fnVB15OGA7GqyEWQtssvsuR01zDBd3FgGjqhZdwyv6yd7MeiBq4AIcyvbtbzL9ujZxVBDz9xsfaqCtbL6EDYnMKwG0ogHvU7S+o5yGQsgFWlfBXR45/eAIhjKsvL88uNE+JYKIRhO3dwjCboJ+46PjFlt8NDR1AGKuYya0IDemRI6NFr6ssbENJFBMfK+yQTu5GwLXT2gc+2j9veI+5Yi6xD9eZZF/WkFSX2UsHX8ba1jvJRxsxkqM1PWnM1Sve38YZipb/eDJSggqgQeXEwCL8gnFb4ZCcZiCoeeyU0bjerxGRKBzV1nWj+Hii/T3OHRbydhYUL2A31FVqS2ntswzugBo5gtWM9Z0eAgXRSipxSNUwbFjq1C2GP+1m9OIk71NC/Gmyh8yg/Fe4W3BOJFabjvt9QrHvB2K97n9Niak8bhzOOosH+d5fErZn45OMYSOyfjUI79xEx//vAchS/WoPOLnuW1o8GidVv8DvYa5OPAsqu+peQsfTnPW8Nosjue8tK2PZBr5r5b4sY6h6JYR1pZ0m57DObLXR3/twMS1seVd7erMwXSgfbmIhJsvNI6AWw7M9yBZ7gDPTqWo/CL9ZfFmVVkLBOCYHHMlzpQ497m7MupZ8oB8+1NxC7x1Dc6krmiJWUM1eonNlc9/JHIX475dAjcvFA+22TqlXfZwSVsb8CDwOkIlD6j0RFGC7U7CpekPU6O5IaJ/E8edaEFcx4VUrVapTIp0qHAvBYh5v9o/MwqrmNzaNDJfxmSokrgl2jZzaZeyWB+sxjtc5aWKkGAhvjGrwRQQLmVeOH9jGaubfur3Pkz2gDc93N7JKoaeC0= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 21f0d278-7e72-48ff-1fbd-08dc5f0c38f7 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:48.1694 (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 1/3] avcodec/x86/vvc/vvcdsp_init: add put 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: BV+yc+TxPmZJ 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. Signed-off-by: Wu Jianhua --- libavcodec/x86/vvc/vvcdsp_init.c | 35 +++++++++++++++++++++++++++++++- 1 file changed, 34 insertions(+), 1 deletion(-) diff --git a/libavcodec/x86/vvc/vvcdsp_init.c b/libavcodec/x86/vvc/vvcdsp_init.c index 23a3172c45..d9203f4d5f 100644 --- a/libavcodec/x86/vvc/vvcdsp_init.c +++ b/libavcodec/x86/vvc/vvcdsp_init.c @@ -30,9 +30,42 @@ #include "libavcodec/vvc/dsp.h" #include "libavcodec/x86/h26x/h2656dsp.h" +#define PUT_PROTOTYPE(name, depth, opt) \ +void ff_vvc_put_ ## name ## _ ## depth ## _##opt(int16_t *dst, const uint8_t *src, ptrdiff_t srcstride, int height, const int8_t *hf, const int8_t *vf, int width); + +#define PUT_PROTOTYPES(name, bitd, opt) \ + PUT_PROTOTYPE(name##2, bitd, opt) \ + PUT_PROTOTYPE(name##4, bitd, opt) \ + PUT_PROTOTYPE(name##8, bitd, opt) \ + PUT_PROTOTYPE(name##12, bitd, opt) \ + PUT_PROTOTYPE(name##16, bitd, opt) \ + PUT_PROTOTYPE(name##24, bitd, opt) \ + PUT_PROTOTYPE(name##32, bitd, opt) \ + PUT_PROTOTYPE(name##48, bitd, opt) \ + PUT_PROTOTYPE(name##64, bitd, opt) \ + PUT_PROTOTYPE(name##128, bitd, opt) + +#define PUT_BPC_PROTOTYPES(name, opt) \ + PUT_PROTOTYPES(name, 8, opt) \ + PUT_PROTOTYPES(name, 10, opt) \ + PUT_PROTOTYPES(name, 12, opt) + +#define PUT_TAP_PROTOTYPES(n, opt) \ + PUT_BPC_PROTOTYPES(n##tap_h, opt) \ + PUT_BPC_PROTOTYPES(n##tap_v, opt) \ + PUT_BPC_PROTOTYPES(n##tap_hv, opt) + +PUT_BPC_PROTOTYPES(pixels, sse4) +PUT_BPC_PROTOTYPES(pixels, avx2) + +PUT_TAP_PROTOTYPES(4, sse4) +PUT_TAP_PROTOTYPES(8, sse4) +PUT_TAP_PROTOTYPES(4, avx2) +PUT_TAP_PROTOTYPES(8, avx2) + #if ARCH_X86_64 #define FW_PUT(name, depth, opt) \ -static void ff_vvc_put_ ## name ## _ ## depth ## _##opt(int16_t *dst, const uint8_t *src, ptrdiff_t srcstride, \ +void ff_vvc_put_ ## name ## _ ## depth ## _##opt(int16_t *dst, const uint8_t *src, ptrdiff_t srcstride, \ int height, const int8_t *hf, const int8_t *vf, int width) \ { \ ff_h2656_put_## name ## _ ## depth ## _##opt(dst, 2 * MAX_PB_SIZE, src, srcstride, height, hf, vf, width); \ From patchwork Wed Apr 17 18:28:22 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Wu Jianhua X-Patchwork-Id: 48113 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:ce4e:b0:1a9:af23:56c1 with SMTP id id14csp1205513pzb; Wed, 17 Apr 2024 11:29:11 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCX+XppnA6LoPVP/4Wj3Zt9watG+r5+hmZRjvLbo0OevYZ8herApgHIqB4X/XIqy26B+jCRmwoQx/itJAqHGOO1gwdtSkNqCvDF8HQ== X-Google-Smtp-Source: AGHT+IErB+HcOMEzPL5ru0gC+HutnSIyPm0P2y+14goyM56O5BZotald6qTgRIs5umzx/cc6e9hR X-Received: by 2002:a50:bb62:0:b0:56e:4ac1:88f with SMTP id y89-20020a50bb62000000b0056e4ac1088fmr246067ede.27.1713378551505; Wed, 17 Apr 2024 11:29:11 -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 u10-20020a50a40a000000b0056e525400f8si6917192edb.384.2024.04.17.11.29.11; Wed, 17 Apr 2024 11:29:11 -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=RDqiw8XD; 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 5384B68D2C3; Wed, 17 Apr 2024 21:29:04 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org 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: IeyqWw+55X4XOZGwtLGH8PlEf44oAG5TD/o1fRLlaVKs3L5UAa8Jkh87Br8DdXQOQEwNjpWMRR48DFWu0SMjz0aUGy/KMPq21QzjmW6n2dTa97H8wnvfCXG3mqawRKbEA1ymPbTrxAD92M5VWs1mRton6ypiGQMYJd66KLwUt5K8sAtqMcqn85jkA3cO45xbqaf6oFCm///bIrmtqs2ekO+Hjc41j2cXQJZ15ErQl8a4CSsbhq/z4pY3t0cAjLTn+Nd89mBViyQM8ixFC/HX6DeIqH088tGF//FlYEYQcx8WFn7gSCfAFg/2roJXgOYzRwfvhfATwsxqZb8Ba8+X1AW8yysT0Rf6YtWaoKoZYAv0adqgWYfsClWBn97NaFufnL/J+VWaLfJjjn7cjP30awyheoVgErZ8zMx7DOCkFqEWyvuRh6p+LtCvknLr4ddn23VieQjXiIIXw55VQQXXB/iX5ZfEOsoX8/nVsmmN33Fa+00eV2HfY9yaNhitiYFIM821Qw1DkZvXsJL7xRP42/f12ORrYegrOkYLs2H18RTJavqJVSbPsNgfLiMFAOKMuXlKqS9iZteqq3hKpsGItiQUIsHmH94FdXODZonUG4LDZPdYepzd6i2ACIRzHMwC3i5Mo+zafzFAO0GezoDAjiQGNwED5yqBEzMjqkc1njP/deBzCmLLCc4C4pQlYO9Erlusk/TDO0aHVbEGcNoTmXSmPl16kkSz042txBKym23AyTbbcpDEPOpjI2l5Ty3wNuVqlY//Ik2qa1APx6fGGAIzZukQElkIckQApVuWIUavfpCXRHy4OgzODNnIfiyX3Jqzw2makE202v8TS1HkYPBnFC8DUvPERRa/wHQHkhM0oFpDaKvrbusQKHDB5gsnhL8WSNaDl7+EVrYakBXcT7TDz0qiUlucHakN3NJenULJ/mzvHjpsh6aZ5H+NfUGl/Dzfn68BkuLWEYXuRHg4t3Yq6Qq4mKKvv0F6PY7qc/wDm30Gb9oirZVzafM9qnwJg0n//Ix5Y3eCnQcK3qtIK/UdFCVZ50NBF54WdRGJYUFhrcwQ/wMi51s7Vg0FEfn1lqkNkrSh9z1ISo914P9TqkHB8zyX5EhMavezYpR084OXcvyybIg2pFZk+RcWouf2KaGZs8/38Qp0JV5IaT2pXZKOopN5rT+id9Q4YkpmpFZbrBvdmrZipIctC0yN1glAdfB10zUgboVUdpu5laLF6VQYOhqlQOR+J4FAsVLL+qs= 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: 5EMEBAn7JFag 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 From patchwork Wed Apr 17 18:28:23 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Wu Jianhua X-Patchwork-Id: 48114 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:ce4e:b0:1a9:af23:56c1 with SMTP id id14csp1205570pzb; Wed, 17 Apr 2024 11:29:20 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCV33IoZq2xIbmjChqwi1Gq8kOdBLcFr/y3UzXGXNgE6mJo2x5n15lFau11NAtgWf9XCyE+NsMHBKQ8O/MRKDxLXNUS5g/LmrWrSeg== X-Google-Smtp-Source: AGHT+IHi8mxT7zqcWCXvXDyn/EED1rOFXHI7ZPk5sLX53ZU1PSIEFsv6wGWdU6PgbZyC5vVr+ebQ X-Received: by 2002:a17:906:b81a:b0:a55:3488:f730 with SMTP id dv26-20020a170906b81a00b00a553488f730mr211145ejb.31.1713378560288; Wed, 17 Apr 2024 11:29:20 -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 n10-20020a170906724a00b00a5543e5ad38si1998167ejk.613.2024.04.17.11.29.19; Wed, 17 Apr 2024 11:29:20 -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="i1r/T2iU"; 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 68CDB68D37C; Wed, 17 Apr 2024 21:29:10 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org 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 2482568D37F for ; Wed, 17 Apr 2024 21:29:03 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ZrNLELojxUUQfMGI3dA6+6WbwOUDgIhKgdy5bwMRD2/HuQ1PZ4yKNOwE+XVSJkmuj+ScYIKEyJ29hwfugFyIHUanzj6ApR4g31Dhe5yw49y7b4Iv2Dbv/lxGYTZh1aI9tFzABD7dsIlsdPeiSAPdECM9LreWG6OaYk5/BRbT3UxYKA7d3S7WxVpnuTJKfut5fjVwH5uDXJu3MESk+zi52iKNKxPqZpUzs6Zw7jJkGHJNrJxAiC3wla1GjRcY15anX0L/5UsyAfj0J/R9B9LJs2bVsCo64XR046pT3D2psGp7ftG55C2LPc7emkETanhl0gYBTFfdCPvUW7hO63Zmgw== 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=ytSWoxXd4K+M4KaER0obonqyDkukqEgYGoE1Y33KnPc=; b=fhUuJyMKmxiwQMWbnSd5wtLEO43A5Om04SN91t6CkGqQskOdDGpCql+umYggCI+2FRTy57EFRrxth8MBeTktHQ1BuGM1aNFZ8Vv87hrMGy6YnNvkNiVPM4uFAnHqZxteKwc7ajGze6fjTrFn1ml6yyjv96nNGQZSwMhWW7KSgjQ08VnDHI3MOxdNQpRdfzg9BVEGkqJn6p6pXwlXie+lN3kR29YnjqAqeK6ERAKGbGdSSq+9CoJi9ZGCggDugjUUZ92nP+gmNVSeKlv2JAISzBnbBbcYT273WyNYqSC3HKfbCafLe4AuMSBK4lJ5oKUWrs//3V2IGICKG9OiEsUk9w== 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=ytSWoxXd4K+M4KaER0obonqyDkukqEgYGoE1Y33KnPc=; b=i1r/T2iUwrRyWO65LEMJbWHE4E6F+IGXcynxkAD9ssTaedhUOSuAr5tqIv9BmFduBDMqmHe7c4wWzO+M9hVIhsgxKjsPxJKSFdeWIHnLz7CuSbQhpxG/Zzu6wTXD+Laji1tWiBLS0w07EesuB6FssLHVWjdkLsenHuaxume71z4vkfRquFEq1dzYPrdermfne0cI0U7gvx9BzeYXDHm21v3hQxi+3w52LYlxcz/PcJ7xX3h/OCC6wyzdBFFf2deA4BSO5YAKec2Ximjlf6o7RuTQdgC/XHS3eLqUS/78v0BTY2sLevRV51q6cgv9/9dEJaBMUnXy0YAOFrO28Fht4w== 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:50 +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:50 +0000 From: toqsxw@outlook.com To: ffmpeg-devel@ffmpeg.org Date: Thu, 18 Apr 2024 02:28:23 +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: [izv1Aimjete+5xhUH1mzy5LJpE5rRVa+] 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-3-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: 90b7efd6-10b3-4ae2-f3c0-08dc5f0c3a1a X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: ljJAe7+bnuu/04jx3LhL68AW3o5YaXkkR+a7q4LD6zqICo7WKN3s8HTCV18Mbv2EYj3rbibbDwMvOTE2rgQmU1SCVSw9zTwbgN+j83LI8KKNqXG3Tit1CzwFuoXHkuU3fytnDB/wqutX2CI3xhG77ynM/FBBAZTGj4DK82Tj9KAYM7toxAVPqHGqPEsnXD0B2G3XS8j63xyGlSPr0miEM+oeJXzh1z5eiAt+r0Wotk33ypYZbqHQay7Zmvj/mbEHJgog/cjpPn9y8H0L7K8t/e4V6oQCy6dwB5U911s1OMmY9HUnFAnH4BML7h2qugxHoeVEiY0HFNeOoSdfZhMHKx6ToRcbf/z8VIoKSpyt6nZQ63Vo/MzrvkRomGjv1Hl7zW2QzH7/R2RkzwywTKQDQxtUx2Ui302/atuyDeSpGCXxfJJjHMEyveXKotYB5tQ6PJAHqSLNrGSvWVPiGajErDEHobwOS5Id1+Imfd5yhDCSpB8jVRsJLi8V6OnpV9kWyof9eQl3mZVa7WvHV1mJFgRMLjTo/S0vbg7WmVz87sCCyPvIKyayehp7Fi57vrAJjXSwkkhr5xcLzsr/JqMCvfjB0cRyIMfWYwRznkPU4UZuf5oKsUxXiOmhX8BEZ6La X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: QPMyAS6NPl8c6WYQ1xE81sGORXhg196kT1fDIRYMt8pKCP9Ls0DsRrgBnXsJX4gNsAjUv9R7ynDFrF4ZvYV7xDK/43JSINtb+bAE2gHamqZX9UgXmLFmNLdQ7GqWScug+GLMamdBa+nEVXXgqHCcmL2/zjtqVmdtCNImZl5i94giTlqPzq4TBIECLayoPxX7NXgpqBVaQwV9Np25L5o04/qxDSH8igTN0hcJivloJb5okOA62vqcLRyVPBKoZOTn7FMd7miKDCDcW5Gu19pVoA8m8Quq/dR5XJbdf7q23Mhn3FZwoZtUnrL9cdvAbTByT6Xi9sq/mGt+OQDK3lABGmrDfkR521kodhifPjH42/Ipn3xSK7P+J/aCYijTLjVzAP+11tvARO06USFxNBCKPF36Y66cCQzJP5+qKbpbtqt9OiB0B544VG/1m0lgF9GuJQ1UVs/8pVapC4l0kgi7WSUgFMlEyuLP+AK1Idy55gRpHRKaHucgMaEmC4OHlhwx4I9x/xS2a7B9iTJMUkRyJMAJvtn6FCNTeRBxATK84Dvl11hQQoJRDqpeJ9yHHavkSAiVy47ZpuHtxUQLVeNi+Xmp/hYxjrJqJbO8lsuCj5BA4E0GhX0pmXYBwtNAiQ2GVA+5rHWUEUH03voVYi0I0KwWRgI3ORyC+xcxAiU0wZry8g7xJEAIBoU79FjEnkD6n1JmRF0FJN8l1o47XK3lJm/REMeLzb8TSsf9IoFfd4r7zkLoFoUd6/X+ZXInYtYJrU5kMmzeCP1J51YyXj8cpv5Pxwl4zC/w+/tO09iAcXR6lz1zlsa1zZk50elRsqs4NZvF7S3RkVEm1G89LODa2fpQBUof6SSjuHXQqRZDnIDF66RctVZp55TFYdDT9awTDiSdyGNYoaANT99cZwcNn4azdj3En1/4506oaQtHF3KwUiqCr/ZMr7PGC0tATLXdBnxacmnpCh8nNf5FjbFBVNLAv2qnznbwDhcuF1nqbJWqGcbZuGslJU/DSERvPtjbRPnEpCmcau7GMHc1FLBR2zKhFfyXpIIYvJgeEhVvrsPkCMXL3lQehXr+M+c+uod9kGyr6f1+ZcoO0H0D7APxNksBrbKJUkJuUN+yUb2rX90raMJxnFFOX8YAjjIEfv2KxgpurKkUxZNjZmrtImHNEj3d4vP2E2Ax7fPOgYimShKZO5aPRED43VW+5yeatzD2pnyyVLzUGtlVN/3H/oaIcpfxwAuw5SG+GDUWb51lXhY= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 90b7efd6-10b3-4ae2-f3c0-08dc5f0c3a1a 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:50.0776 (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 3/3] avcodec/x86/vvc/vvcdsp_init: fix linking error when configuring with --disable-ssse3 --disable-optimizations options 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: OHBIy8AXuRih From: Wu Jianhua Signed-off-by: Wu Jianhua --- libavcodec/x86/vvc/vvcdsp_init.c | 46 +++++++++++++++++--------------- 1 file changed, 25 insertions(+), 21 deletions(-) diff --git a/libavcodec/x86/vvc/vvcdsp_init.c b/libavcodec/x86/vvc/vvcdsp_init.c index aef6699c35..985d750472 100644 --- a/libavcodec/x86/vvc/vvcdsp_init.c +++ b/libavcodec/x86/vvc/vvcdsp_init.c @@ -88,6 +88,7 @@ AVG_PROTOTYPES(10, avx2) AVG_PROTOTYPES(12, avx2) #if ARCH_X86_64 +#if HAVE_SSE4_EXTERNAL #define FW_PUT(name, depth, opt) \ void ff_vvc_put_ ## name ## _ ## depth ## _##opt(int16_t *dst, const uint8_t *src, ptrdiff_t srcstride, \ int height, const int8_t *hf, const int8_t *vf, int width) \ @@ -125,7 +126,9 @@ void ff_vvc_put_ ## name ## _ ## depth ## _##opt(int16_t *dst, const uint8_t *sr FW_PUT_SSE4( 8) FW_PUT_SSE4(10) FW_PUT_SSE4(12) +#endif +#if HAVE_AVX2_EXTERNAL #define FW_PUT_TAP_AVX2(n, bitd) \ FW_PUT(n ## tap_h32, bitd, avx2) \ FW_PUT(n ## tap_h64, bitd, avx2) \ @@ -161,6 +164,25 @@ FW_PUT_AVX2(12) FW_PUT_16BPC_AVX2(10) FW_PUT_16BPC_AVX2(12) +#define AVG_FUNCS(bpc, 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) \ +{ \ + BF(ff_vvc_avg, bpc, opt)(dst, dst_stride, src0, src1, width, height, (1 << bd) - 1); \ +} \ +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) \ +{ \ + BF(ff_vvc_w_avg, bpc, opt)(dst, dst_stride, src0, src1, width, height, \ + denom, w0, w1, o0, o1, (1 << bd) - 1); \ +} + +AVG_FUNCS(8, 8, avx2) +AVG_FUNCS(16, 10, avx2) +AVG_FUNCS(16, 12, avx2) +#endif + #define PEL_LINK(dst, C, W, idx1, idx2, name, D, opt) \ dst[C][W][idx1][idx2] = ff_vvc_put_## name ## _ ## D ## _##opt; \ dst ## _uni[C][W][idx1][idx2] = ff_h2656_put_uni_ ## name ## _ ## D ## _##opt; \ @@ -226,27 +248,9 @@ FW_PUT_16BPC_AVX2(12) MC_TAP_LINKS_16BPC_AVX2(LUMA, 8, bd); \ MC_TAP_LINKS_16BPC_AVX2(CHROMA, 4, bd); -#define AVG_FUNCS(bpc, 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) \ -{ \ - BF(ff_vvc_avg, bpc, opt)(dst, dst_stride, src0, src1, width, height, (1 << bd) - 1); \ -} \ -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) \ -{ \ - BF(ff_vvc_w_avg, bpc, opt)(dst, dst_stride, src0, src1, width, height, \ - denom, w0, w1, o0, o1, (1 << bd) - 1); \ -} - -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(ff_vvc_avg, bd, opt); \ - c->inter.w_avg = bf(ff_vvc_w_avg, bd, opt); \ +#define AVG_INIT(bd, opt) do { \ + c->inter.avg = bf(ff_vvc_avg, bd, opt); \ + c->inter.w_avg = bf(ff_vvc_w_avg, bd, opt); \ } while (0) #endif