X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=configure;h=b5bfad689c4a6e4f3cad705c7eaaf903212f83f9;hb=52da3f6f70b1e95589a152aaf224811756fb9665;hp=8d9b21b782e23140b17d491773129cbb47a7155f;hpb=932bbfc5d8ae43e73bf432cd1f7e28ccf16d14d0;p=ffmpeg diff --git a/configure b/configure index 8d9b21b782e..b5bfad689c4 100755 --- a/configure +++ b/configure @@ -108,7 +108,6 @@ Configuration options: --enable-gray enable full grayscale support (slower color) --disable-swscale-alpha disable alpha channel support in swscale --disable-all disable building components, libraries and programs - --enable-incompatible-libav-abi enable incompatible Libav fork ABI [no] --enable-raise-major increase major version numbers in sonames [no] Program options: @@ -223,8 +222,6 @@ External library support: --enable-libcdio enable audio CD grabbing with libcdio [no] --enable-libdc1394 enable IIDC-1394 grabbing using libdc1394 and libraw1394 [no] - --enable-libebur128 enable libebur128 for EBU R128 measurement, - needed for loudnorm filter [no] --enable-libfdk-aac enable AAC de/encoding via libfdk-aac [no] --enable-libflite enable flite (voice synthesis) support via libflite [no] --enable-libfontconfig enable libfontconfig, useful for drawtext filter [no] @@ -1147,10 +1144,16 @@ check_func_headers(){ for hdr in $headers; do print_include $hdr done + echo "#include " for func in $funcs; do echo "long check_$func(void) { return (long) $func; }" done - echo "int main(void) { return 0; }" + echo "int main(void) { int ret = 0;" + # LTO could optimize out the test functions without this + for func in $funcs; do + echo " ret |= ((intptr_t)check_$func) & 0xFFFF;" + done + echo "return ret; }" } | check_ld "cc" "$@" && enable $funcs && enable_safe $headers } @@ -1486,7 +1489,6 @@ EXTERNAL_LIBRARY_LIST=" libcdio libcelt libdc1394 - libebur128 libfdk_aac libflite libfontconfig @@ -1646,7 +1648,6 @@ CONFIG_LIST=" $PROGRAM_LIST $SUBSYSTEM_LIST fontconfig - incompatible_libav_abi memalign_hack memory_poisoning neon_clobber_test @@ -1799,7 +1800,6 @@ HAVE_LIST_CMDLINE=" HAVE_LIST_PUB=" bigendian fast_unaligned - incompatible_libav_abi " HEADERS_LIST=" @@ -2056,6 +2056,7 @@ CONFIG_EXTRA=" h263dsp h264chroma h264dsp + h264parse h264pred h264qpel hpeldsp @@ -2381,7 +2382,7 @@ h263_encoder_select="aandcttables h263dsp mpegvideoenc" h263i_decoder_select="h263_decoder" h263p_decoder_select="h263_decoder" h263p_encoder_select="h263_encoder" -h264_decoder_select="cabac golomb h264chroma h264dsp h264pred h264qpel videodsp" +h264_decoder_select="cabac golomb h264chroma h264dsp h264parse h264pred h264qpel videodsp" h264_decoder_suggest="error_resilience" hap_decoder_select="snappy texturedsp" hap_encoder_deps="libsnappy" @@ -2477,7 +2478,7 @@ sonic_ls_encoder_select="golomb rangecoder" sp5x_decoder_select="mjpeg_decoder" svq1_decoder_select="hpeldsp" svq1_encoder_select="aandcttables hpeldsp me_cmp mpegvideoenc" -svq3_decoder_select="golomb h264dsp h264pred hpeldsp tpeldsp videodsp" +svq3_decoder_select="golomb h264dsp h264parse h264pred hpeldsp tpeldsp videodsp" svq3_decoder_suggest="zlib" tak_decoder_select="audiodsp" tdsc_decoder_select="zlib mjpeg_decoder" @@ -2539,6 +2540,7 @@ crystalhd_deps="libcrystalhd_libcrystalhd_if_h" cuvid_deps="cuda" d3d11va_deps="d3d11_h dxva_h ID3D11VideoDecoder ID3D11VideoContext" dxva2_deps="dxva2api_h DXVA2_ConfigPictureDecode" +dxva2_extralibs="-luser32" vaapi_deps="va_va_h" vda_framework_deps="VideoDecodeAcceleration_VDADecoder_h" vda_framework_extralibs="-framework VideoDecodeAcceleration" @@ -2549,7 +2551,6 @@ videotoolbox_hwaccel_deps="videotoolbox pthreads" videotoolbox_hwaccel_extralibs="-framework QuartzCore" xvmc_deps="X11_extensions_XvMClib_h" -h263_cuvid_hwaccel_deps="cuda cuvid" h263_vaapi_hwaccel_deps="vaapi" h263_vaapi_hwaccel_select="h263_decoder" h263_videotoolbox_hwaccel_deps="videotoolbox" @@ -2630,6 +2631,8 @@ mpeg2_xvmc_hwaccel_deps="xvmc" mpeg2_xvmc_hwaccel_select="mpeg2video_decoder" mpeg4_crystalhd_decoder_select="crystalhd" mpeg4_cuvid_hwaccel_deps="cuda cuvid" +mpeg4_mediacodec_decoder_deps="mediacodec" +mpeg4_mediacodec_hwaccel_deps="mediacodec" mpeg4_mmal_decoder_deps="mmal" mpeg4_mmal_decoder_select="mmal" mpeg4_mmal_hwaccel_deps="mmal" @@ -2662,10 +2665,14 @@ vc1_vdpau_hwaccel_deps="vdpau" vc1_vdpau_hwaccel_select="vc1_decoder" vp8_cuvid_hwaccel_deps="cuda cuvid" vp9_cuvid_hwaccel_deps="cuda cuvid" +vp8_mediacodec_decoder_deps="mediacodec" +vp8_mediacodec_hwaccel_deps="mediacodec" vp9_d3d11va_hwaccel_deps="d3d11va DXVA_PicParams_VP9" vp9_d3d11va_hwaccel_select="vp9_decoder" vp9_dxva2_hwaccel_deps="dxva2 DXVA_PicParams_VP9" vp9_dxva2_hwaccel_select="vp9_decoder" +vp9_mediacodec_decoder_deps="mediacodec" +vp9_mediacodec_hwaccel_deps="mediacodec" vp9_vaapi_hwaccel_deps="vaapi VADecPictureParameterBufferVP9" vp9_vaapi_hwaccel_select="vp9_decoder" wmv3_crystalhd_decoder_select="crystalhd" @@ -2687,8 +2694,6 @@ scale_npp_filter_deps="cuda libnpp" nvenc_deps_any="dlopen LoadLibrary" nvenc_encoder_deps="nvenc" -h263_cuvid_decoder_deps="cuda cuvid" -h263_cuvid_decoder_select="h263_cuvid_hwaccel" h264_cuvid_decoder_deps="cuda cuvid" h264_cuvid_decoder_select="h264_mp4toannexb_bsf h264_cuvid_hwaccel" h264_nvenc_encoder_deps="nvenc" @@ -2731,7 +2736,7 @@ vp9_cuvid_decoder_deps="cuda cuvid" vp9_cuvid_decoder_select="vp9_cuvid_hwaccel" # parsers -h264_parser_select="golomb h264dsp" +h264_parser_select="golomb h264dsp h264parse" hevc_parser_select="golomb" mpegvideo_parser_select="mpegvideo" mpeg4video_parser_select="h263dsp mpegvideo qpeldsp" @@ -2747,6 +2752,9 @@ ac3_at_decoder_select="ac3_parser" adpcm_ima_qt_at_decoder_deps="audiotoolbox" alac_at_decoder_deps="audiotoolbox" amr_nb_at_decoder_deps="audiotoolbox" +avisynth_deps_any="dlopen LoadLibrary" +avisynth_demuxer_deps="avisynth" +avisynth_demuxer_select="riffdec" eac3_at_decoder_deps="audiotoolbox" eac3_at_decoder_select="ac3_parser" gsm_ms_at_decoder_deps="audiotoolbox" @@ -2840,8 +2848,6 @@ asf_muxer_select="riffenc" asf_stream_muxer_select="asf_muxer" avi_demuxer_select="iso_media riffdec exif" avi_muxer_select="riffenc" -avisynth_demuxer_deps="avisynth" -avisynth_demuxer_select="riffdec" caf_demuxer_select="iso_media riffdec" dash_muxer_select="mp4_muxer" dirac_demuxer_select="dirac_parser" @@ -3045,7 +3051,6 @@ hqdn3d_filter_deps="gpl" interlace_filter_deps="gpl" kerndeint_filter_deps="gpl" ladspa_filter_deps="ladspa dlopen" -loudnorm_filter_deps="libebur128" mcdeint_filter_deps="avcodec gpl" movie_filter_deps="avcodec avformat" mpdecimate_filter_deps="gpl" @@ -3110,7 +3115,7 @@ extract_mvs_example_deps="avcodec avformat avutil" filter_audio_example_deps="avfilter avutil" filtering_audio_example_deps="avfilter avcodec avformat avutil" filtering_video_example_deps="avfilter avcodec avformat avutil" -http_multiclient_example_deps="avformat avutil" +http_multiclient_example_deps="avformat avutil fork" metadata_example_deps="avformat avutil" muxing_example_deps="avcodec avformat avutil swscale" qsvdec_example_deps="avcodec avutil libmfx h264_qsv_decoder vaapi_x11" @@ -3575,6 +3580,8 @@ case "$toolchain" in add_cppflags -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 add_cflags -fno-strict-overflow -fstack-protector-all add_ldflags -Wl,-z,relro -Wl,-z,now + add_cflags -fPIE + add_ldexeflags -fPIE -pie ;; ?*) die "Unknown toolchain $toolchain" @@ -5406,6 +5413,7 @@ elif check_func dlopen -ldl && check_func dlsym -ldl; then ldl=-ldl fi +avisynth_demuxer_extralibs='$ldl' decklink_outdev_extralibs="$decklink_outdev_extralibs $ldl" decklink_indev_extralibs="$decklink_indev_extralibs $ldl" frei0r_filter_extralibs='$ldl' @@ -5653,13 +5661,10 @@ fi enabled avfoundation_indev && { check_header_objcc AVFoundation/AVFoundation.h || disable avfoundation_indev; } enabled avfoundation_indev && { check_lib2 CoreGraphics/CoreGraphics.h CGGetActiveDisplayList -framework CoreGraphics || check_lib2 ApplicationServices/ApplicationServices.h CGGetActiveDisplayList -framework ApplicationServices; } -enabled avisynth && { { check_lib2 "windows.h" LoadLibrary; } || - { check_lib2 "dlfcn.h" dlopen -ldl; } || - die "ERROR: LoadLibrary/dlopen not found for avisynth"; } -enabled cuda && { check_lib cuda.h cuInit -lcuda || +enabled cuda && { check_lib2 cuda.h cuInit -lcuda || die "ERROR: CUDA not found"; } enabled cuvid && { add_cflags -I$source_path; - check_lib "compat/cuda/cuviddec.h" cuvidCreateDecoder -lnvcuvid || + check_lib2 "compat/cuda/cuviddec.h" cuvidCreateDecoder -lnvcuvid || die "ERROR: CUVID not found"; } && { enabled cuda || die "ERROR: CUVID requires CUDA"; } @@ -5682,7 +5687,6 @@ enabled libcelt && require libcelt celt/celt.h celt_decode -lcelt0 && { check_lib celt/celt.h celt_decoder_create_custom -lcelt0 || die "ERROR: libcelt must be installed and version must be >= 0.11.0."; } enabled libcaca && require_pkg_config caca caca.h caca_create_canvas -enabled libebur128 && require ebur128 ebur128.h ebur128_relative_threshold -lebur128 enabled libfdk_aac && { use_pkg_config fdk-aac "fdk-aac/aacenc_lib.h" aacEncOpen || { require libfdk_aac fdk-aac/aacenc_lib.h aacEncOpen -lfdk-aac && warn "using libfdk without pkg-config"; } } @@ -5710,10 +5714,11 @@ enabled libopencv && { check_header opencv2/core/core_c.h && require opencv opencv2/core/core_c.h cvCreateImageHeader -lopencv_core -lopencv_imgproc; } || require_pkg_config opencv opencv/cxcore.h cvCreateImageHeader; } enabled libopenh264 && require_pkg_config openh264 wels/codec_api.h WelsGetCodecVersion -enabled libopenjpeg && { check_lib openjpeg-2.1/openjpeg.h opj_version -lopenjp2 -DOPJ_STATIC || - check_lib openjpeg-2.0/openjpeg.h opj_version -lopenjp2 -DOPJ_STATIC || - check_lib openjpeg-1.5/openjpeg.h opj_version -lopenjpeg -DOPJ_STATIC || - check_lib openjpeg.h opj_version -lopenjpeg -DOPJ_STATIC || +enabled libopenjpeg && { { check_lib2 openjpeg-2.1/openjpeg.h opj_version -lopenjp2 -DOPJ_STATIC && add_cppflags -DOPJ_STATIC; } || + check_lib2 openjpeg-2.1/openjpeg.h opj_version -lopenjp2 || + { check_lib2 openjpeg-2.0/openjpeg.h opj_version -lopenjp2 -DOPJ_STATIC && add_cppflags -DOPJ_STATIC; } || + { check_lib2 openjpeg-1.5/openjpeg.h opj_version -lopenjpeg -DOPJ_STATIC && add_cppflags -DOPJ_STATIC; } || + { check_lib2 openjpeg.h opj_version -lopenjpeg -DOPJ_STATIC && add_cppflags -DOPJ_STATIC; } || die "ERROR: libopenjpeg not found"; } enabled libopenmpt && require_pkg_config "libopenmpt >= 0.2.6557" libopenmpt/libopenmpt.h openmpt_module_create enabled libopus && require_pkg_config opus opus_multistream.h opus_multistream_decoder_create @@ -5819,7 +5824,8 @@ enabled omx && { check_header OMX_Core.h || add_cflags -isystem/opt/vc/include/IL ; } check_header OMX_Core.h ; } || die "ERROR: OpenMAX IL headers not found"; } -enabled openssl && { use_pkg_config openssl openssl/ssl.h SSL_library_init || +enabled openssl && { use_pkg_config openssl openssl/ssl.h OPENSSL_init_ssl || + use_pkg_config openssl openssl/ssl.h SSL_library_init || check_lib openssl/ssl.h SSL_library_init -lssl -lcrypto || check_lib openssl/ssl.h SSL_library_init -lssl32 -leay32 || check_lib openssl/ssl.h SSL_library_init -lssl -lcrypto -lws2_32 -lgdi32 || @@ -6313,7 +6319,7 @@ if test $target_os = "haiku"; then fi enabled_all dxva2 dxva2api_cobj CoTaskMemFree && - prepend ffmpeg_libs $($ldflags_filter "-lole32" "-luser32") && + prepend ffmpeg_libs $($ldflags_filter "-lole32") && enable dxva2_lib ! enabled_any memalign posix_memalign aligned_malloc && @@ -6806,7 +6812,7 @@ EOF mkdir -p doc/examples/pc-uninstalled includedir=${source_path} [ "$includedir" = . ] && includedir="\${pcfiledir}/../../.." - cat < doc/examples/pc-uninstalled/$name.pc + cat < doc/examples/pc-uninstalled/${name}-uninstalled.pc prefix= exec_prefix= libdir=\${pcfiledir}/../../../$name