From patchwork Thu May 26 12:29:03 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Aman Karmani X-Patchwork-Id: 35948 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:6914:b0:82:6b11:2509 with SMTP id q20csp351981pzj; Thu, 26 May 2022 05:29:18 -0700 (PDT) X-Google-Smtp-Source: ABdhPJz2G6mZopRBs03thSf0/L24bf1YFGMvgsmuTqO/TZidj3OqfQxGkAM9yYg8ACqUuD7cA/Im X-Received: by 2002:a17:907:7ea9:b0:6fe:d412:ec2c with SMTP id qb41-20020a1709077ea900b006fed412ec2cmr19679236ejc.613.1653568158205; Thu, 26 May 2022 05:29:18 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1653568158; cv=none; d=google.com; s=arc-20160816; b=kTlj5hNseeV/LYAKP6VoXyibE6KLnWSX8GRMHvDFhRVPr2ait+xfLIBId8frs6LZQ/ RGU4+rtEmG65fVZEPqLRlWa5pcyioBgY23pJ5RsTdeyfydDlvE1ziWvN4neDxyCuDzQi CZD0/B1bItnzxfR14abrYi7qEzpNEEuIkpeijWkznQHeUp4GwUFlihxgrs9Ie2Z0iCUt xNE+0WiEVuOgCmC4kNOUrppF2ERWdDO2FEa07O90ow+H42P8MzaAMvzZrokZtL71h7JW 2659XzbN0rrXKnWvoXRtaQhgY3cljZTrRd76HyziG4YstEclkxyptwQ9jHYtVOHmcfJP PdhA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:cc:reply-to :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:to:mime-version:fcc:date:references :in-reply-to:message-id:from:dkim-signature:delivered-to; bh=aSJz2Hrz7ecCi5bQ0yJyxJ0OB0nM/dfKbJ91fB+jOeI=; b=gTgI7jwFENcirQaWSSs9gFxv5H7/1bxgueXaGxgVgDJsv7auip094dOBnxdkDxu6iV YYYl6awR02PV53cwswVQqSOrIQDxBVwA/vpHv3CdFSWAWEH03bmcZx+cNzjFOSAye5EF uDSKj4hWbgT72EEfZgc4fDLmhrxii7IF5tHXyGMhu2FrEatNJmJ3iS5DxcurdzKvxBoM F5tRIhA1tj/aPSZJlBfKp4tpzFTsNFss2qqAvQ+RJCl3KrDaxLKnoVRan0MPrCDi4Wht D0Piz7R0ItzL5zspZ6w+i0nhPR5KLYyx3cwamPethSRzeyhryiCjEza1es/jGdirVc41 apcA== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20210112 header.b=FCJyQim6; 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=gmail.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id sd9-20020a1709076e0900b006feed02de33si1657568ejc.481.2022.05.26.05.29.17; Thu, 26 May 2022 05:29:18 -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=@gmail.com header.s=20210112 header.b=FCJyQim6; 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=gmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 99EA968B54D; Thu, 26 May 2022 15:29:13 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pj1-f51.google.com (mail-pj1-f51.google.com [209.85.216.51]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id C3D5068B46A for ; Thu, 26 May 2022 15:29:06 +0300 (EEST) Received: by mail-pj1-f51.google.com with SMTP id v5-20020a17090a7c0500b001df84fa82f8so1581675pjf.5 for ; Thu, 26 May 2022 05:29:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:message-id:in-reply-to:references:date:subject:fcc :content-transfer-encoding:mime-version:to:cc; bh=QT3aw1syYE0XC8iHYycJlxMzyv0mibpWR3+YHU4P6i0=; b=FCJyQim6YdZVFwDlNSNA99VMY1nVAcPbBu+HD9XQt/YzvFPeyJttzdwmjeZypGiE/6 DYk+DQveRJUsKZYoaPovpiHp3qeLHK+0qjXn3AfwjqWxkD8ASLrRWy/AQuoQqqknM4CR lXA2IBQa2BRGjzB7zYoXlm/9+ukqRCCUOtQ6T5rMPcq/qL1Gfg1JicYkKOH36QhX5/s/ tcesArQCQqMGlp7N3H2kb0MPDiT1tkjhiEf8lskBtywPq9TnujUjcyoLQ3fDEdhjnjTj EO35yBGfAsePKN8i9C8J1yg4BhgmlvsGQKkqUErZpuri+TPt9i/EVXE0rfa7Ps3QOg4w hZ7w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:message-id:in-reply-to:references:date :subject:fcc:content-transfer-encoding:mime-version:to:cc; bh=QT3aw1syYE0XC8iHYycJlxMzyv0mibpWR3+YHU4P6i0=; b=nN4V85nWJVh1dd1JI+qficdFIGw0T4vmI44TYAWe9MK1ZMGa6JloBKtwp1pAJ/WNij o5nb4ieqaZA2m4XwW0blmC10pyfUskq3huBi3z/Dk7PBZW436chP+aqctKQ5rhyye7hi 65eQpageoWOBfF0v4BlU4+5BKoat3wQz2RBfTPy3Kg0544ASWsdR+yr45OG3y7qGZQXM FrMnc5vZh0YrShffFMDhIYSU/KBnAZw/EKA+PWTed+KUbOnMymY8ZUDnar1eLdj0+22s ofj7fY5IzcsN1sdAepNyfnnxHlJrqbZSJlHnVBa2NlzPpdWWVhBShzq75fFSf29z31Gt YMxA== X-Gm-Message-State: AOAM533j+LAxtAGPSmC0XDErDf2JL3K2D0NsjoCysQ00tPxhMq3vniTm WNmw8qVdZLq6T2Bp82yL/m3L64vbJzmpqA== X-Received: by 2002:a17:90a:9488:b0:1e0:bbbb:9ada with SMTP id s8-20020a17090a948800b001e0bbbb9adamr2332815pjo.211.1653568144778; Thu, 26 May 2022 05:29:04 -0700 (PDT) Received: from [127.0.0.1] (master.gitmailbox.com. [34.83.118.50]) by smtp.gmail.com with ESMTPSA id a74-20020a621a4d000000b005180f4733a8sm1380769pfa.106.2022.05.26.05.29.03 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 26 May 2022 05:29:04 -0700 (PDT) From: Matt Oliver X-Google-Original-From: Matt Oliver Message-Id: In-Reply-To: References: Date: Thu, 26 May 2022 12:29:03 +0000 Fcc: Sent MIME-Version: 1.0 To: ffmpeg-devel@ffmpeg.org Subject: [FFmpeg-devel] [PATCH v6] libx264: Set min build version to 158 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: Michael Niedermayer , softworkz , Matt Oliver , Andreas Rheinhardt Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: aGAQBVwcOoNf From: Matt Oliver Was "[PATCH] libx264: Do not explicitly set X264_API_IMPORTS" Setting X264_API_IMPORTS only affects msvc builds and it breaks linking to static builds (although is required for shared builds). This flag is set by x264 in its pkgconfig as required since build 158 (a615f027ed172e2dd5380e736d487aa858a0c4ff) from July 2019. So this patch updates configure to require a newer x264 build that correctly sets the imports flag. The requirement for 158 is applied for msvc builds only, no change is made for all other cases. Co-authored-by: softworkz Signed-off-by: softworkz Signed-off-by: Matt Oliver --- libx264: Set min build version to 158 I'm submitting this patch on behalf of Matt with his permission. There was agreement that the >= 158 version requirement should be applied to MSVC builds only. v2: restrict the version requirement to msvc builds v3: fix unintended author change v4: add missing braces v5: fixed condition (again ;-) v6: hope I got it now.. Published-As: https://github.com/ffstaging/FFmpeg/releases/tag/pr-ffstaging-30%2Fsoftworkz%2Fsubmit_x264_api_imports_matt-v6 Fetch-It-Via: git fetch https://github.com/ffstaging/FFmpeg pr-ffstaging-30/softworkz/submit_x264_api_imports_matt-v6 Pull-Request: https://github.com/ffstaging/FFmpeg/pull/30 Range-diff vs v5: 1: 8c4fe7ffc2 ! 1: 47843fb51e libx264: Set min build version to 158 @@ configure: enabled libvpx && { - check_cpp_condition libx262 x264.h "X264_MPEG2" +enabled libx264 && check_pkg_config libx264 x264 "stdint.h x264.h" x264_encoder_encode && + require_cpp_condition libx264 x264.h "X264_BUILD >= 118" && { -+ "$toolchain" != msvc || require_cpp_condition libx264 x264.h "X264_BUILD >= 158"; } ++ [ "$toolchain" != "msvc" ] || ++ require_cpp_condition libx264 x264.h "X264_BUILD >= 158"; } enabled libx265 && require_pkg_config libx265 x265 x265.h x265_api_get && require_cpp_condition libx265 x265.h "X265_BUILD >= 70" enabled libxavs && require libxavs "stdint.h xavs.h" xavs_encoder_encode "-lxavs $pthreads_extralibs $libm_extralibs" configure | 9 ++++----- libavcodec/libx264.c | 4 ---- 2 files changed, 4 insertions(+), 9 deletions(-) base-commit: b033913d1c5998a29dfd13e9906dd707ff6eff12 diff --git a/configure b/configure index f115b21064..d17361f37f 100755 --- a/configure +++ b/configure @@ -6656,11 +6656,10 @@ enabled libvpx && { enabled libwebp && { enabled libwebp_encoder && require_pkg_config libwebp "libwebp >= 0.2.0" webp/encode.h WebPGetEncoderVersion enabled libwebp_anim_encoder && check_pkg_config libwebp_anim_encoder "libwebpmux >= 0.4.0" webp/mux.h WebPAnimEncoderOptionsInit; } -enabled libx264 && { check_pkg_config libx264 x264 "stdint.h x264.h" x264_encoder_encode || - { require libx264 "stdint.h x264.h" x264_encoder_encode "-lx264 $pthreads_extralibs $libm_extralibs" && - warn "using libx264 without pkg-config"; } } && - require_cpp_condition libx264 x264.h "X264_BUILD >= 118" && - check_cpp_condition libx262 x264.h "X264_MPEG2" +enabled libx264 && check_pkg_config libx264 x264 "stdint.h x264.h" x264_encoder_encode && + require_cpp_condition libx264 x264.h "X264_BUILD >= 118" && { + [ "$toolchain" != "msvc" ] || + require_cpp_condition libx264 x264.h "X264_BUILD >= 158"; } enabled libx265 && require_pkg_config libx265 x265 x265.h x265_api_get && require_cpp_condition libx265 x265.h "X265_BUILD >= 70" enabled libxavs && require libxavs "stdint.h xavs.h" xavs_encoder_encode "-lxavs $pthreads_extralibs $libm_extralibs" diff --git a/libavcodec/libx264.c b/libavcodec/libx264.c index 4ce3791ae8..14177b3016 100644 --- a/libavcodec/libx264.c +++ b/libavcodec/libx264.c @@ -37,10 +37,6 @@ #include "atsc_a53.h" #include "sei.h" -#if defined(_MSC_VER) -#define X264_API_IMPORTS 1 -#endif - #include #include #include