From patchwork Wed Nov 21 15:27:52 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: James Almer X-Patchwork-Id: 11105 Return-Path: X-Original-To: patchwork@ffaux-bg.ffmpeg.org Delivered-To: patchwork@ffaux-bg.ffmpeg.org Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by ffaux.localdomain (Postfix) with ESMTP id D98CB44C5BA for ; Wed, 21 Nov 2018 17:34:33 +0200 (EET) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 593A868994E; Wed, 21 Nov 2018 17:34:34 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-qk1-f196.google.com (mail-qk1-f196.google.com [209.85.222.196]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 1C1A368994E for ; Wed, 21 Nov 2018 17:34:27 +0200 (EET) Received: by mail-qk1-f196.google.com with SMTP id m5so5063360qka.9 for ; Wed, 21 Nov 2018 07:34:29 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:to:references:from:openpgp:message-id:date:user-agent :mime-version:in-reply-to:content-language; bh=b8Ow2FCzac3m6tzw2GN0771Vz5fJjuERvBkoKfcsn2U=; b=FGS7QN99ZSgg9ZC+qPDAPXIf8fOwBHm+5kdPKVJ35AU5+SLXQkWty+lZ5AwDJGw7Xp C/xZvrkR+a6Wk6uYR6E9DSO8p34J9n4F5gJklLJXhpfXzwlSnch2tQ1cC5337ndEWOIG 1eucKvNjRd9UWk5N4XvogeliWNa5z48+pnNY9c89aOOhkJwizRvbpNgrX/41ap7NDLMe Qf8kKAx4HiwUt1p0SLtRS1F3AWDeMFt1o8zCW3sgOyolG921HCBZftM2DRxxR9b4Y2tF t0cE0IYLiAwq0RTvQR1T01bhsWITrZDKnC/Vy+BW4MphzstkSBoWnBQmWJo7A4KVPX3d Ms6g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:references:from:openpgp:message-id :date:user-agent:mime-version:in-reply-to:content-language; bh=b8Ow2FCzac3m6tzw2GN0771Vz5fJjuERvBkoKfcsn2U=; b=na2JINJetubi4gVA7ZdC07/w7NHmMbMSRHNz8hF/99Xb4JX5PACf5irbNwl3nxeMBw kRM0eLM7JhwkPXEb3yNpSGznyFDskJ2IuyZb24ChG+VnzKLJDaRtk7CcdA7Jm9ZQoHkT 1APpQKUWxSMuTNcZCFW34NkJr1rRRBZe/X2HRJvFrzUeD9Sf/tEqUYWj35VVlepFJQ4N IZ/2ch/4c4jlJI9dKMuJOJRx7mxKpu/FgbRk8MtOE+2IxHY7pl0ejo+A86sxZsW1mgxT DSU3Wu6K6VIejcEaf3eZ7BWJErnzRi8bwG1sXFBp1U3RLis7m8mrAPGR4YnLUylaMPFT +8ig== X-Gm-Message-State: AA+aEWaopjBaO2x1N3fF4xoCwE3B71Q3PdokIzc75+9NdP7HMi9D5n8z ceTWc3ZAqyXPaP5ZWGY57GZhBYWc X-Google-Smtp-Source: AFSGD/UL/EOe+bqXnMgA4h3RdLlqcq3ld/26dZZ4H0COyRIlxppZBad2TjUqS7i2ZCRkdhR2QV1KEw== X-Received: by 2002:a37:c12:: with SMTP id 18mr5838339qkm.317.1542814075924; Wed, 21 Nov 2018 07:27:55 -0800 (PST) Received: from [192.168.1.48] ([179.38.178.114]) by smtp.gmail.com with ESMTPSA id 5sm23242304qtw.50.2018.11.21.07.27.54 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 21 Nov 2018 07:27:55 -0800 (PST) To: ffmpeg-devel@ffmpeg.org References: <20181121024734.29307-1-haihao.xiang@intel.com> From: James Almer Openpgp: preference=signencrypt Message-ID: Date: Wed, 21 Nov 2018 12:27:52 -0300 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.9.1 MIME-Version: 1.0 In-Reply-To: <20181121024734.29307-1-haihao.xiang@intel.com> Content-Language: en-US Subject: Re: [FFmpeg-devel] [PATCH] Fix link errors when HAVE_X86ASM is not defined X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.20 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" On 11/20/2018 11:47 PM, Haihao Xiang wrote: > This fixes the link errors below: > > LD ffmpeg_g > libavfilter/libavfilter.so: undefined reference to `ff_scene_sad_avx2' > libavfilter/libavfilter.so: undefined reference to `ff_scene_sad_sse2' > collect2: error: ld returned 1 exit status > Makefile:108: recipe for target 'ffmpeg_g' failed > make: *** [ffmpeg_g] Error 1 > > Signed-off-by: Haihao Xiang > --- > libavfilter/x86/scene_sad_init.c | 10 ++++++++++ > 1 file changed, 10 insertions(+) > > diff --git a/libavfilter/x86/scene_sad_init.c b/libavfilter/x86/scene_sad_init.c > index 461fa406d9..7e93ef44d3 100644 > --- a/libavfilter/x86/scene_sad_init.c > +++ b/libavfilter/x86/scene_sad_init.c > @@ -20,6 +20,7 @@ > #include "libavutil/x86/cpu.h" > #include "libavfilter/scene_sad.h" > > +#if HAVE_X86ASM > #define SCENE_SAD_FUNC(FUNC_NAME, ASM_FUNC_NAME, MMSIZE) \ > void ASM_FUNC_NAME(SCENE_SAD_PARAMS); \ > \ > @@ -50,3 +51,12 @@ ff_scene_sad_fn ff_scene_sad_get_fn_x86(int depth) > } > return NULL; > } > + > +#else > + > +ff_scene_sad_fn ff_scene_sad_get_fn_x86(int depth) > +{ > + return NULL; > +} > + > +#endif > \ No newline at end of file Can you test the attached patch? It's more in line with how other asm modules with the same issue were fixed before, like synth_filter in libavcodec. From 41e5c18028a74b7fc9e42a2050ad7290a0074fd6 Mon Sep 17 00:00:00 2001 From: James Almer Date: Wed, 21 Nov 2018 12:21:38 -0300 Subject: [PATCH] x86/scene_sad: fix link errors when HAVE_X86ASM is not defined Reported-by: Haihao Xiang Signed-off-by: James Almer --- libavfilter/x86/scene_sad_init.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/libavfilter/x86/scene_sad_init.c b/libavfilter/x86/scene_sad_init.c index 461fa406d9..f5331338af 100644 --- a/libavfilter/x86/scene_sad_init.c +++ b/libavfilter/x86/scene_sad_init.c @@ -36,11 +36,16 @@ static void FUNC_NAME(SCENE_SAD_PARAMS) { \ *sum += sad[0]; \ } +#if HAVE_X86ASM SCENE_SAD_FUNC(scene_sad_sse2, ff_scene_sad_sse2, 16); +#if HAVE_AVX2_EXTERNAL SCENE_SAD_FUNC(scene_sad_avx2, ff_scene_sad_avx2, 32); +#endif +#endif ff_scene_sad_fn ff_scene_sad_get_fn_x86(int depth) { +#if HAVE_X86ASM int cpu_flags = av_get_cpu_flags(); if (depth == 8) { if (EXTERNAL_AVX2_FAST(cpu_flags)) @@ -48,5 +53,6 @@ ff_scene_sad_fn ff_scene_sad_get_fn_x86(int depth) else if (EXTERNAL_SSE2(cpu_flags)) return scene_sad_sse2; } +#endif return NULL; }