Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
 help / color / mirror / Atom feed
From: softworkz <ffmpegagent@gmail.com>
To: ffmpeg-devel@ffmpeg.org
Cc: softworkz <softworkz@hotmail.com>
Subject: [FFmpeg-devel] [PATCH v2] libx264: Set min build version to 158
Date: Wed, 25 May 2022 09:31:07 +0000
Message-ID: <pull.30.v2.ffstaging.FFmpeg.1653471067991.ffmpegagent@gmail.com> (raw)
In-Reply-To: <pull.30.ffstaging.FFmpeg.1653088310211.ffmpegagent@gmail.com>

From: softworkz <softworkz@hotmail.com>

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 <softworkz@hotmail.com>
Signed-off-by: softworkz <softworkz@hotmail.com>
Signed-off-by: Matt Oliver <protogonoi@gmail.com>
---
    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

Published-As: https://github.com/ffstaging/FFmpeg/releases/tag/pr-ffstaging-30%2Fsoftworkz%2Fsubmit_x264_api_imports_matt-v2
Fetch-It-Via: git fetch https://github.com/ffstaging/FFmpeg pr-ffstaging-30/softworkz/submit_x264_api_imports_matt-v2
Pull-Request: https://github.com/ffstaging/FFmpeg/pull/30

Range-diff vs v1:

 1:  bbe97f5e1b ! 1:  1696684de3 libx264: Set min build version to 158
     @@
       ## Metadata ##
     -Author: Matt Oliver <protogonoi@gmail.com>
     +Author: softworkz <softworkz@hotmail.com>
      
       ## Commit message ##
          libx264: Set min build version to 158
     @@ Commit message
          So this patch updates configure to require a newer x264 build that
          correctly sets the imports flag.
      
     -    Alternatively we can detect the x264 build version in configure
     -    and keep the fallback of manually setting the flag on older x264
     -    builds that arent using pkgconfig (to keep the old behaviour) but
     -    that requires some complex configure changes.
     +    The requirement for 158 is applied for msvc builds only,
     +    no change is made for all other cases.
      
     -    Submitted-by: softworkz <softworkz@hotmail.com>
     +    Co-authored-by: softworkz <softworkz@hotmail.com>
     +    Signed-off-by: softworkz <softworkz@hotmail.com>
          Signed-off-by: Matt Oliver <protogonoi@gmail.com>
      
       ## configure ##
     @@ configure: enabled libvpx            && {
      -                             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 >= 158"
     ++                             require_cpp_condition libx264 x264.h "X264_BUILD >= 158" ||
     ++                             { "$toolchain" != msvc && require_cpp_condition libx264 x264.h "X264_BUILD >= 118"; }
       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            | 8 +++-----
 libavcodec/libx264.c | 4 ----
 2 files changed, 3 insertions(+), 9 deletions(-)

diff --git a/configure b/configure
index f115b21064..9de9b7763a 100755
--- a/configure
+++ b/configure
@@ -6656,11 +6656,9 @@ 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 >= 158" ||
+                             { "$toolchain" != msvc && require_cpp_condition libx264 x264.h "X264_BUILD >= 118"; }
 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 <x264.h>
 #include <float.h>
 #include <math.h>

base-commit: b033913d1c5998a29dfd13e9906dd707ff6eff12
-- 
ffmpeg-codebot
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".

  reply	other threads:[~2022-05-25  9:31 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-05-20 23:11 [FFmpeg-devel] [PATCH] " Matt Oliver
2022-05-25  9:31 ` softworkz [this message]
2022-05-25  9:34   ` [FFmpeg-devel] [PATCH v3] " Matt Oliver
2022-05-25  9:38     ` Andreas Rheinhardt
2022-05-25  9:53       ` Soft Works
2022-05-25 11:05     ` [FFmpeg-devel] [PATCH v4] " Matt Oliver
2022-05-25 15:15       ` Michael Niedermayer
2022-05-25 22:53         ` Andreas Rheinhardt
2022-05-26  7:26           ` Soft Works
2022-05-26  7:28       ` [FFmpeg-devel] [PATCH v5] " Matt Oliver
2022-05-26 10:50         ` Michael Niedermayer
2022-05-26 11:20           ` Soft Works
2022-05-26 12:29         ` [FFmpeg-devel] [PATCH v6] " Matt Oliver
2022-06-08 20:22           ` Marton Balint
2022-06-08 22:50             ` Soft Works
2022-06-09 18:44               ` Marton Balint
2022-06-09 19:19                 ` Soft Works
2022-06-09 23:27           ` [FFmpeg-devel] [PATCH v7] " Matt Oliver
2022-06-11 12:20             ` Marton Balint

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=pull.30.v2.ffstaging.FFmpeg.1653471067991.ffmpegagent@gmail.com \
    --to=ffmpegagent@gmail.com \
    --cc=ffmpeg-devel@ffmpeg.org \
    --cc=softworkz@hotmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

This inbox may be cloned and mirrored by anyone:

	git clone --mirror https://master.gitmailbox.com/ffmpegdev/0 ffmpegdev/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 ffmpegdev ffmpegdev/ https://master.gitmailbox.com/ffmpegdev \
		ffmpegdev@gitmailbox.com
	public-inbox-index ffmpegdev

Example config snippet for mirrors.


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git