diff mbox series

[FFmpeg-devel,v7] libx264: Set min build version to 158

Message ID pull.30.v7.ffstaging.FFmpeg.1654817228364.ffmpegagent@gmail.com
State Accepted
Commit dd5a0302d5286e66ca03a57770537d5afa4c7775
Headers show
Series [FFmpeg-devel,v7] libx264: Set min build version to 158 | expand

Checks

Context Check Description
andriy/make_x86 success Make finished
andriy/make_fate_x86 success Make fate finished

Commit Message

softworkz June 9, 2022, 11:27 p.m. UTC
From: Matt Oliver <protogonoi@gmail.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 min version requirement of 158 is applied for msvc builds only.

This is also removing the check for 'libx264 without pkg-config'
which was left for compatibility reasons about 7 years ago when
the pkg-config check was introduced by commit
e06263ef1e0e172b2c76070b3dc739411af08e82.

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
    v3: fix unintended author change
    v4: add missing braces
    v5: fixed condition (again ;-)
    v6: hope I got it now..
    v7: add comment about dropping non-pkg-conf check, re-add libx262 check

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

Range-diff vs v6:

 1:  47843fb51e ! 1:  3baec48834 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.
      
     -    The requirement for 158 is applied for msvc builds only,
     -    no change is made for all other cases.
     +    The min version requirement of 158 is applied for msvc builds only.
     +
     +    This is also removing the check for 'libx264 without pkg-config'
     +    which was left for compatibility reasons about 7 years ago when
     +    the pkg-config check was introduced by commit
     +    e06263ef1e0e172b2c76070b3dc739411af08e82.
      
          Co-authored-by: softworkz <softworkz@hotmail.com>
          Signed-off-by: softworkz <softworkz@hotmail.com>
     @@ configure: enabled libvpx            && {
      -                               { 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"; }
     ++                             require_cpp_condition libx264 x264.h "X264_BUILD >= 158"; } &&
     +                              check_cpp_condition libx262 x264.h "X264_MPEG2"
       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"
      
       ## libavcodec/libx264.c ##
      @@


 configure            | 8 ++++----
 libavcodec/libx264.c | 4 ----
 2 files changed, 4 insertions(+), 8 deletions(-)


base-commit: 5d5a01419928d0c00bae54f730eede150cd5b268

Comments

Marton Balint June 11, 2022, 12:20 p.m. UTC | #1
On Thu, 9 Jun 2022, Matt Oliver wrote:

> From: Matt Oliver <protogonoi@gmail.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 min version requirement of 158 is applied for msvc builds only.
>
> This is also removing the check for 'libx264 without pkg-config'
> which was left for compatibility reasons about 7 years ago when
> the pkg-config check was introduced by commit
> e06263ef1e0e172b2c76070b3dc739411af08e82.
>
> Co-authored-by: softworkz <softworkz@hotmail.com>
> Signed-off-by: softworkz <softworkz@hotmail.com>
> Signed-off-by: Matt Oliver <protogonoi@gmail.com>

Thanks, applied.

Regards,
Marton

> ---
>    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..
>    v7: add comment about dropping non-pkg-conf check, re-add libx262 check
>
> Published-As: https://github.com/ffstaging/FFmpeg/releases/tag/pr-ffstaging-30%2Fsoftworkz%2Fsubmit_x264_api_imports_matt-v7
> Fetch-It-Via: git fetch https://github.com/ffstaging/FFmpeg pr-ffstaging-30/softworkz/submit_x264_api_imports_matt-v7
> Pull-Request: https://github.com/ffstaging/FFmpeg/pull/30
>
> Range-diff vs v6:
>
> 1:  47843fb51e ! 1:  3baec48834 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.
>
>     -    The requirement for 158 is applied for msvc builds only,
>     -    no change is made for all other cases.
>     +    The min version requirement of 158 is applied for msvc builds only.
>     +
>     +    This is also removing the check for 'libx264 without pkg-config'
>     +    which was left for compatibility reasons about 7 years ago when
>     +    the pkg-config check was introduced by commit
>     +    e06263ef1e0e172b2c76070b3dc739411af08e82.
>
>          Co-authored-by: softworkz <softworkz@hotmail.com>
>          Signed-off-by: softworkz <softworkz@hotmail.com>
>     @@ configure: enabled libvpx            && {
>      -                               { 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"; }
>     ++                             require_cpp_condition libx264 x264.h "X264_BUILD >= 158"; } &&
>     +                              check_cpp_condition libx262 x264.h "X264_MPEG2"
>       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"
>
>       ## libavcodec/libx264.c ##
>      @@
>
>
> configure            | 8 ++++----
> libavcodec/libx264.c | 4 ----
> 2 files changed, 4 insertions(+), 8 deletions(-)
>
> diff --git a/configure b/configure
> index 5a167613a4..3dca1c4bd3 100755
> --- a/configure
> +++ b/configure
> @@ -6658,10 +6658,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" &&
> +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"; } &&
>                              check_cpp_condition libx262 x264.h "X264_MPEG2"
> enabled libx265           && require_pkg_config libx265 x265 x265.h x265_api_get &&
>                              require_cpp_condition libx265 x265.h "X265_BUILD >= 70"
> 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: 5d5a01419928d0c00bae54f730eede150cd5b268
> -- 
> 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".
>
diff mbox series

Patch

diff --git a/configure b/configure
index 5a167613a4..3dca1c4bd3 100755
--- a/configure
+++ b/configure
@@ -6658,10 +6658,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" &&
+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"; } &&
                              check_cpp_condition libx262 x264.h "X264_MPEG2"
 enabled libx265           && require_pkg_config libx265 x265 x265.h x265_api_get &&
                              require_cpp_condition libx265 x265.h "X265_BUILD >= 70"
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>