Message ID | pull.30.v6.ffstaging.FFmpeg.1653568143191.ffmpegagent@gmail.com |
---|---|
State | New |
Headers | show |
Series | [FFmpeg-devel,v6] libx264: Set min build version to 158 | expand |
Context | Check | Description |
---|---|---|
yinshiyou/make_loongarch64 | success | Make finished |
yinshiyou/make_fate_loongarch64 | success | Make fate finished |
andriy/make_x86 | success | Make finished |
andriy/make_fate_x86 | success | Make fate finished |
andriy/make_armv7_RPi4 | success | Make finished |
andriy/make_fate_armv7_RPi4 | success | Make fate finished |
On Thu, 26 May 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 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 > 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(-) > > 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"; } } && x264 without pkg-config feature got removed. If this is intentonal, then maybe you should mention this in the commit message? > - require_cpp_condition libx264 x264.h "X264_BUILD >= 118" && > - check_cpp_condition libx262 x264.h "X264_MPEG2" Why is the x262 check got silently removed? This does not seem to belong to this commit. Thanks, Marton > +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 <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". >
On Wed, 8 Jun 2022, Soft Works wrote: >>> - { require libx264 "stdint.h x264.h" >> x264_encoder_encode "-lx264 $pthreads_extralibs $libm_extralibs" && >>> - warn "using libx264 without pkg-config"; >> } } && >> >> x264 without pkg-config feature got removed. If this is intentonal, >> then maybe you should mention this in the commit message? > > I cannot honestly say that I would be sure about this part. Matt had > this removed in his original patch and objections were made about the version > requirement, but none about the removal of the "non-pkg-config" condition. > > Would there be any reasons to keep it? Probably not. Removing it is fine by me, but the removal should be stated in the commit message. > >> >>> - require_cpp_condition libx264 x264.h >> "X264_BUILD >= 118" && >>> - check_cpp_condition libx262 x264.h >> "X264_MPEG2" >> >> Why is the x262 check got silently removed? This does not seem to belong >> to this commit.` > > Matt had removed it and there was a comment about it saying that it > would by dysfunctional for a long time already. > > By a funny coincidence, Gyan has submitted a patch for complete removal > of this: > > https://patchwork.ffmpeg.org/project/ffmpeg/patch/20220527082922.994-1-ffmpeg@gyani.pro/ > > Whether it belongs into this patch or not could be seen from two sides: > > On one side, you could say that THIS patch is about updating and adapting > the x264 conditions to the state of time, but you could also say that > it must rather be in Gyan's patch (which it is anyway). > > Just let me know when you think I should change it. I'd rather keep the X262 cpp check for now. Thanks, Marton
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 <x264.h> #include <float.h> #include <math.h>