X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=configure;h=9c3af50569bdebdb5cecf3b76d1cc98f8a0ccd7d;hb=17c656518623e54ba5818e7bee965646421aeae0;hp=bde30c6b8d3f49657056916e4d7c28d4d0a9f172;hpb=79df91bfc403e97e50f3ba0ed9acabeeb5590cd4;p=ffmpeg diff --git a/configure b/configure index bde30c6b8d3..9c3af50569b 100755 --- a/configure +++ b/configure @@ -299,6 +299,7 @@ Toolchain options: --extra-cflags=ECFLAGS add ECFLAGS to CFLAGS [$CFLAGS] --extra-cxxflags=ECFLAGS add ECFLAGS to CXXFLAGS [$CXXFLAGS] --extra-ldflags=ELDFLAGS add ELDFLAGS to LDFLAGS [$LDFLAGS] + --extra-ldexeflags=ELDFLAGS add ELDFLAGS to LDEXEFLAGS [$LDEXEFLAGS] --extra-libs=ELIBS add ELIBS [$ELIBS] --extra-version=STRING version string suffix [] --optflags=OPTFLAGS override optimization-related compiler flags @@ -758,6 +759,10 @@ add_ldflags(){ append LDFLAGS $($ldflags_filter "$@") } +add_ldexeflags(){ + append LDEXEFLAGS $($ldflags_filter "$@") +} + add_stripflags(){ append ASMSTRIPFLAGS "$@" } @@ -1577,6 +1582,7 @@ ARCH_FEATURES=" local_aligned_8 local_aligned_16 local_aligned_32 + simd_align_16 " BUILTIN_LIST=" @@ -1642,6 +1648,10 @@ HEADERS_LIST=" winsock2_h " +INTRINSICS_LIST=" + intrinsics_neon +" + MATH_FUNCS=" atanf atan2f @@ -1773,6 +1783,7 @@ HAVE_LIST=" $HAVE_LIST_CMDLINE $HAVE_LIST_PUB $HEADERS_LIST + $INTRINSICS_LIST $MATH_FUNCS $SYSTEM_FUNCS $THREADS_LIST @@ -1936,6 +1947,7 @@ armv6_deps="arm" armv6t2_deps="arm" armv8_deps="aarch64" neon_deps_any="aarch64 arm" +intrinsics_neon_deps="neon" vfp_deps_any="aarch64 arm" vfpv3_deps="vfp" @@ -1986,8 +1998,7 @@ aligned_stack_if_any="aarch64 ppc x86" fast_64bit_if_any="aarch64 alpha ia64 mips64 parisc64 ppc64 sparc64 x86_64" fast_clz_if_any="aarch64 alpha avr32 mips ppc x86" fast_unaligned_if_any="aarch64 ppc x86" - -need_memalign="altivec neon sse" +simd_align_16_if_any="altivec neon sse" # system capabilities @@ -2121,6 +2132,7 @@ mpc7_decoder_select="bswapdsp mpegaudiodsp" mpc8_decoder_select="mpegaudiodsp" mpeg_xvmc_decoder_deps="X11_extensions_XvMClib_h" mpeg_xvmc_decoder_select="mpeg2video_decoder" +mpegvideo_decoder_select="error_resilience mpeg_er mpegvideo" mpeg1video_decoder_select="error_resilience mpeg_er mpegvideo" mpeg1video_encoder_select="aandcttables mpegvideoenc h263dsp" mpeg2video_decoder_select="error_resilience mpeg_er mpegvideo" @@ -2657,6 +2669,7 @@ else arch_default=$(uname -m) fi cpu="generic" +intrinsics="none" # configurable options enable $PROGRAM_LIST @@ -2829,6 +2842,9 @@ for opt do --extra-ldflags=*) add_ldflags $optval ;; + --extra-ldexeflags=*) + add_ldexeflags $optval + ;; --extra-libs=*) add_extralibs $optval ;; @@ -4528,6 +4544,8 @@ EOF fi +check_code cc arm_neon.h "int16x8_t test = vdupq_n_s16(0)" && enable intrinsics_neon + check_ldflags -Wl,--as-needed if check_func dlopen; then @@ -4748,7 +4766,7 @@ enabled libopenjpeg && { check_lib openjpeg-1.5/openjpeg.h opj_version -lo check_lib openjpeg.h opj_version -lopenjpeg -DOPJ_STATIC || die "ERROR: libopenjpeg not found"; } enabled libopus && require_pkg_config opus opus_multistream.h opus_multistream_decoder_create -enabled libpulse && require_pkg_config libpulse-simple pulse/simple.h pa_simple_new +enabled libpulse && require_pkg_config libpulse pulse/pulseaudio.h pa_context_new enabled libquvi && require_pkg_config libquvi quvi/quvi.h quvi_init enabled librtmp && require_pkg_config librtmp librtmp/rtmp.h RTMP_Socket enabled libschroedinger && require_pkg_config schroedinger-1.0 schroedinger/schro.h schro_init @@ -4758,7 +4776,7 @@ enabled libsmbclient && { { check_pkg_config smbclient libsmbclient.h smbc_ require smbclient libsmbclient.h smbc_init -lsmbclient; } enabled libsoxr && require libsoxr soxr.h soxr_create -lsoxr enabled libssh && require_pkg_config libssh libssh/sftp.h sftp_init -enabled libspeex && require libspeex speex/speex.h speex_decoder_init -lspeex +enabled libspeex && require_pkg_config speex speex/speex.h speex_decoder_init -lspeex enabled libstagefright_h264 && require_cpp libstagefright_h264 "binder/ProcessState.h media/stagefright/MetaData.h media/stagefright/MediaBufferGroup.h media/stagefright/MediaDebug.h media/stagefright/MediaDefs.h media/stagefright/OMXClient.h media/stagefright/OMXCodec.h" android::OMXClient -lstagefright -lmedia -lutils -lbinder -lgnustl_static @@ -5174,7 +5192,7 @@ enabled_all dxva2 dxva2api_cobj CoTaskMemFree && enable dxva2_lib ! enabled_any memalign posix_memalign aligned_malloc && - enabled_any $need_memalign && enable memalign_hack + enabled simd_align_16 && enable memalign_hack # add_dep lib dep # -> enable ${lib}_deps_${dep} @@ -5203,6 +5221,8 @@ merge_deps() { merge_deps libavfilter $FILTER_LIST +map 'enabled $v && intrinsics=${v#intrinsics_}' $INTRINSICS_LIST + for thread in $THREADS_LIST; do if enabled $thread; then test -n "$thread_type" && @@ -5211,6 +5231,8 @@ for thread in $THREADS_LIST; do fi done +enabled zlib && add_cppflags -DZLIB_CONST + # conditional library dependencies, in linking order enabled aconvert_filter && prepend avfilter_deps "swresample" enabled amovie_filter && prepend avfilter_deps "avformat avcodec" @@ -5383,6 +5405,7 @@ SRC_PATH:=\$(SRC_PATH:.%=..%) endif CC_IDENT=$cc_ident ARCH=$arch +INTRINSICS=$intrinsics CC=$cc CXX=$cxx AS=$as @@ -5419,6 +5442,7 @@ WINDRES=$windres DEPWINDRES=$dep_cc DOXYGEN=$doxygen LDFLAGS=$LDFLAGS +LDEXEFLAGS=$LDEXEFLAGS SHFLAGS=$(echo $($ldflags_filter $SHFLAGS)) ASMSTRIPFLAGS=$ASMSTRIPFLAGS YASMFLAGS=$YASMFLAGS @@ -5627,6 +5651,6 @@ pkgconfig_generate libavformat "FFmpeg container format library" "$LIBAVF pkgconfig_generate libavdevice "FFmpeg device handling library" "$LIBAVDEVICE_VERSION" "$extralibs" pkgconfig_generate libavfilter "FFmpeg audio/video filtering library" "$LIBAVFILTER_VERSION" "$extralibs" pkgconfig_generate libpostproc "FFmpeg postprocessing library" "$LIBPOSTPROC_VERSION" "" -pkgconfig_generate libavresample "Libav audio resampling library" "$LIBAVRESAMPLE_VERSION" "$extralibs" +pkgconfig_generate libavresample "Libav audio resampling library" "$LIBAVRESAMPLE_VERSION" "$LIBM" pkgconfig_generate libswscale "FFmpeg image rescaling library" "$LIBSWSCALE_VERSION" "$LIBM" pkgconfig_generate libswresample "FFmpeg audio resampling library" "$LIBSWRESAMPLE_VERSION" "$LIBM"