From patchwork Wed Oct 12 15:30:38 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Cadhalpun X-Patchwork-Id: 976 Delivered-To: ffmpegpatchwork@gmail.com Received: by 10.103.140.66 with SMTP id o63csp309886vsd; Wed, 12 Oct 2016 08:30:53 -0700 (PDT) X-Received: by 10.194.236.72 with SMTP id us8mr2308235wjc.211.1476286253510; Wed, 12 Oct 2016 08:30:53 -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 jq7si10998679wjb.156.2016.10.12.08.30.51; Wed, 12 Oct 2016 08:30:53 -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=@googlemail.com; 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=QUARANTINE dis=NONE) header.from=googlemail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 15EED689BC9; Wed, 12 Oct 2016 18:30:49 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-lf0-f42.google.com (mail-lf0-f42.google.com [209.85.215.42]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id E2062689B61 for ; Wed, 12 Oct 2016 18:30:41 +0300 (EEST) Received: by mail-lf0-f42.google.com with SMTP id b81so80139381lfe.1 for ; Wed, 12 Oct 2016 08:30:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=20120113; h=from:subject:to:references:message-id:date:user-agent:mime-version :in-reply-to; bh=HOrThi8dmVfgOFi/SgHlLJZACSDQFr/2zZTVCdF8itA=; b=iQsFFVLdzDeKqgX0DUdI6F9wY9Y4m+AdZsgApeEuyB6A5QMWO2/zlrZsAwzrSyjjWe rUcAfA4hL50ddXT10aOkcTMK5phfg6JZlCcgVz3fn6wB0TRpP5VCcG49zYK2eRwiM1ck So/kJuchIAbMRl39I802X+PuY58FNWpzhWF+n2Pby9JBokvRNkZLHiyIShCvNNWk3YJ5 2W6KrEkdXUGjImQEZrz/4XANMlJosLNYabyX9fepOSj3Gy4kzFZrqoxJK4dyut8q5GhT 1SvslUnqECl+oE5bRcjbryn2GajXvdV4VA27021z9Vt6GJbys87Vz4n1l7GCgkSOBYL/ UVsw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:subject:to:references:message-id:date :user-agent:mime-version:in-reply-to; bh=HOrThi8dmVfgOFi/SgHlLJZACSDQFr/2zZTVCdF8itA=; b=VSBgDQHcfjoo1DPsq3jMWqGElgmRw/A7bGJjuG1ao4pxZdUNOjPdPvTnds9NxUl5Mx L+wAV0Dc4YdcvYiz+2rRHD1FkZPKbUQ3pFi51CmqPdJCjqPpWor7oVYwsT6MoJufxjuW lIeTOfqHhenDLY53Z9RS0L+SVE40UmOjIH5oXvPZWkjF6KmI0M0X2RTlCWLtoPWMeDJV 8uXXUMvGLuFvszjSazND681N3ilGbaDCfTHkwy0Wd0HNfJStK4ysf0M1QG48r3D4p0ea 5L3occDn1M5VhugwqlHEdXmnMXkR3J9h2Qsz/bXuynHCYQKvPCa8/lpkgFfXddZuXBBM fvmA== X-Gm-Message-State: AA6/9RnHsCcgNkklMwfjtd3pHxTzGNYfetlS8NL8w4cRbvp0HKOAP8l6hVy6bD7HKCWD3g== X-Received: by 10.25.209.204 with SMTP id i195mr2201369lfg.20.1476286240806; Wed, 12 Oct 2016 08:30:40 -0700 (PDT) Received: from [192.168.2.21] (p5B09570B.dip0.t-ipconnect.de. [91.9.87.11]) by smtp.googlemail.com with ESMTPSA id y7sm2400208lfd.18.2016.10.12.08.30.39 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 12 Oct 2016 08:30:40 -0700 (PDT) From: Andreas Cadhalpun X-Google-Original-From: Andreas Cadhalpun To: ffmpeg-devel@ffmpeg.org References: <31250a9b-0390-c0b9-eec4-a44489eb9cba@googlemail.com> Message-ID: <19d3769b-2622-108a-bb9f-f40fbfb375af@googlemail.com> Date: Wed, 12 Oct 2016 17:30:38 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Icedove/45.4.0 MIME-Version: 1.0 In-Reply-To: Subject: Re: [FFmpeg-devel] [PATCH] configure: fix detection of libopenjpeg 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 12.10.2016 03:35, Michael Bradshaw wrote: > Oh man, I literally just wrote a patch for this today. You beat me by 6 > hours. Anyway, thanks for the patch! What a coincidence! > On Tue, Oct 11, 2016 at 11:37 AM, Andreas Cadhalpun < > andreas.cadhalpun@googlemail.com> wrote: > [...] >> +enabled libopenjpeg && { { check_lib2 openjpeg-2.1/openjpeg.h >> opj_version -lopenjp2 -DOPJ_STATIC && add_cflags -DOPJ_STATIC; } || >> > > Use add_cppflags instead of add_cflags. The macro isn't needed for linking. Fixed. >> + check_lib2 openjpeg-2.1/openjpeg.h >> opj_version -lopenjp2 || >> + { check_lib openjpeg-2.0/openjpeg.h >> opj_version -lopenjp2 -DOPJ_STATIC && add_cflags -DOPJ_STATIC; } || >> > > You can drop the changes for v2.0 and below. Only v2.1 needs the check. The > new OPJ_STATIC behavior was introduced in OpenJPEG v2.1.1. Thanks for sharing that information. Updated patch attached. Best regards, Andreas From 5c9e02fa1a0f45d84fc31de4ba53d8362a10b4e5 Mon Sep 17 00:00:00 2001 From: Andreas Cadhalpun Date: Tue, 11 Oct 2016 20:28:35 +0200 Subject: [PATCH] configure: fix detection of libopenjpeg Use check_lib2 to test the header together with the function. This is necessary, because '-DOPJ_STATIC' changes what the included header does. Also add '-DOPJ_STATIC' to CPPFLAGS, so that it isn't necessary to hardcode this in libavcodec/libopenjpeg{dec,enc}.c. Finally, check for non-static openjpeg 2.1, too. Signed-off-by: Andreas Cadhalpun --- configure | 9 +++++---- libavcodec/libopenjpegdec.c | 2 -- libavcodec/libopenjpegenc.c | 2 -- 3 files changed, 5 insertions(+), 8 deletions(-) diff --git a/configure b/configure index 8fc71fb..2b71415 100755 --- a/configure +++ b/configure @@ -5710,10 +5710,11 @@ enabled libopencv && { check_header opencv2/core/core_c.h && require opencv opencv2/core/core_c.h cvCreateImageHeader -lopencv_core -lopencv_imgproc; } || require_pkg_config opencv opencv/cxcore.h cvCreateImageHeader; } enabled libopenh264 && require_pkg_config openh264 wels/codec_api.h WelsGetCodecVersion -enabled libopenjpeg && { check_lib openjpeg-2.1/openjpeg.h opj_version -lopenjp2 -DOPJ_STATIC || - check_lib openjpeg-2.0/openjpeg.h opj_version -lopenjp2 -DOPJ_STATIC || - check_lib openjpeg-1.5/openjpeg.h opj_version -lopenjpeg -DOPJ_STATIC || - check_lib openjpeg.h opj_version -lopenjpeg -DOPJ_STATIC || +enabled libopenjpeg && { { check_lib2 openjpeg-2.1/openjpeg.h opj_version -lopenjp2 -DOPJ_STATIC && add_cppflags -DOPJ_STATIC; } || + check_lib2 openjpeg-2.1/openjpeg.h opj_version -lopenjp2 || + { check_lib openjpeg-2.0/openjpeg.h opj_version -lopenjp2 -DOPJ_STATIC && add_cppflags -DOPJ_STATIC; } || + { check_lib openjpeg-1.5/openjpeg.h opj_version -lopenjpeg -DOPJ_STATIC && add_cppflags -DOPJ_STATIC; } || + { check_lib2 openjpeg.h opj_version -lopenjpeg -DOPJ_STATIC && add_cppflags -DOPJ_STATIC; } || die "ERROR: libopenjpeg not found"; } enabled libopenmpt && require_pkg_config "libopenmpt >= 0.2.6557" libopenmpt/libopenmpt.h openmpt_module_create enabled libopus && require_pkg_config opus opus_multistream.h opus_multistream_decoder_create diff --git a/libavcodec/libopenjpegdec.c b/libavcodec/libopenjpegdec.c index 65167e6..b4ce834 100644 --- a/libavcodec/libopenjpegdec.c +++ b/libavcodec/libopenjpegdec.c @@ -24,8 +24,6 @@ * JPEG 2000 decoder using libopenjpeg */ -#define OPJ_STATIC - #include "libavutil/common.h" #include "libavutil/imgutils.h" #include "libavutil/intreadwrite.h" diff --git a/libavcodec/libopenjpegenc.c b/libavcodec/libopenjpegenc.c index 1443551..5042507 100644 --- a/libavcodec/libopenjpegenc.c +++ b/libavcodec/libopenjpegenc.c @@ -24,8 +24,6 @@ * JPEG 2000 encoder using libopenjpeg */ -#define OPJ_STATIC - #include "libavutil/avassert.h" #include "libavutil/common.h" #include "libavutil/imgutils.h" -- 2.9.3