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