X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=configure;h=083d4abcdc3b9fe0f01cfec3094e846020639d54;hb=df63e0c8bbf33160fe379033323570881171dab8;hp=0f62610a5f3617c33d6773f3466f1688b67953f8;hpb=afb4bc3d291f4cc6b67b635305d30a097cb2a82d;p=ffmpeg diff --git a/configure b/configure index 0f62610a5f3..083d4abcdc3 100755 --- a/configure +++ b/configure @@ -139,6 +139,8 @@ Component options: --disable-mdct disable MDCT code --disable-rdft disable RDFT code --disable-fft disable FFT code + +Hardware accelerators: --enable-dxva2 enable DXVA2 code --enable-vaapi enable VAAPI code [autodetect] --enable-vda enable VDA code [autodetect] @@ -1109,6 +1111,13 @@ DOCUMENT_LIST=" txtpages " +HWACCEL_LIST=" + dxva2 + vaapi + vda + vdpau +" + LIBRARY_LIST=" avcodec avdevice @@ -1131,6 +1140,7 @@ PROGRAM_LIST=" CONFIG_LIST=" $COMPONENT_LIST $DOCUMENT_LIST + $HWACCEL_LIST $LIBRARY_LIST $PROGRAM_LIST avisynth @@ -1138,7 +1148,6 @@ CONFIG_LIST=" crystalhd dct dwt - dxva2 fast_unaligned fft fontconfig @@ -1207,9 +1216,6 @@ CONFIG_LIST=" static swscale_alpha thumb - vaapi - vda - vdpau version3 xmm_clobber_test x11grab @@ -1384,6 +1390,7 @@ HAVE_LIST=" gnu_as gsm_h ibm_asm + iconv inet_aton io_h isatty @@ -1468,6 +1475,7 @@ HAVE_LIST=" CONFIG_EXTRA=" aandcttables ac3dsp + audio_frame_queue error_resilience gcrypt golomb @@ -1635,7 +1643,7 @@ mpegvideoenc_select="mpegvideo" # decoders / encoders aac_decoder_select="mdct sinewin" -aac_encoder_select="mdct sinewin" +aac_encoder_select="audio_frame_queue mdct sinewin" aac_latm_decoder_select="aac_decoder aac_latm_parser" ac3_decoder_select="mdct ac3dsp ac3_parser" ac3_encoder_select="mdct ac3dsp" @@ -1681,7 +1689,7 @@ h263_decoder_select="error_resilience h263_parser mpegvideo" h263_encoder_select="aandcttables error_resilience mpegvideoenc" h263i_decoder_select="h263_decoder" h263p_encoder_select="h263_encoder" -h264_decoder_select="error_resilience golomb h264chroma h264dsp h264pred h264qpel mpegvideo" +h264_decoder_select="error_resilience golomb h264chroma h264dsp h264pred h264qpel mpegvideo videodsp" huffyuv_encoder_select="huffman" iac_decoder_select="fft mdct sinewin" imc_decoder_select="fft mdct sinewin" @@ -1720,13 +1728,13 @@ msmpeg4v3_decoder_select="h263_decoder" msmpeg4v3_encoder_select="h263_encoder" mss2_decoder_select="vc1_decoder" nellymoser_decoder_select="mdct sinewin" -nellymoser_encoder_select="mdct sinewin" +nellymoser_encoder_select="audio_frame_queue mdct sinewin" nuv_decoder_select="lzo" png_decoder_select="zlib" png_encoder_select="zlib" qcelp_decoder_select="lsp" qdm2_decoder_select="mdct rdft mpegaudiodsp" -ra_144_encoder_select="lpc" +ra_144_encoder_select="audio_frame_queue lpc" ralf_decoder_select="golomb" rv10_decoder_select="h263_decoder" rv10_encoder_select="h263_encoder" @@ -1824,7 +1832,7 @@ wmv3_vdpau_decoder_select="vc1_vdpau_decoder" wmv3_vdpau_hwaccel_select="vc1_vdpau_hwaccel" # parsers -h264_parser_select="error_resilience golomb h264dsp h264pred h264qpel mpegvideo" +h264_parser_select="error_resilience golomb h264chroma h264dsp h264pred h264qpel mpegvideo videodsp" mpeg4video_parser_select="error_resilience mpegvideo" mpegvideo_parser_select="error_resilience mpegvideo" vc1_parser_select="error_resilience mpegvideo" @@ -1833,7 +1841,9 @@ vc1_parser_select="error_resilience mpegvideo" libaacplus_encoder_deps="libaacplus" libcelt_decoder_deps="libcelt" libfaac_encoder_deps="libfaac" +libfaac_encoder_select="audio_frame_queue" libfdk_aac_encoder_deps="libfdk_aac" +libfdk_aac_encoder_select="audio_frame_queue" libgsm_decoder_deps="libgsm" libgsm_encoder_deps="libgsm" libgsm_ms_decoder_deps="libgsm" @@ -1842,24 +1852,30 @@ libilbc_decoder_deps="libilbc" libilbc_encoder_deps="libilbc" libmodplug_demuxer_deps="libmodplug" libmp3lame_encoder_deps="libmp3lame" +libmp3lame_encoder_select="audio_frame_queue" libopencore_amrnb_decoder_deps="libopencore_amrnb" libopencore_amrnb_encoder_deps="libopencore_amrnb" +libopencore_amrnb_encoder_select="audio_frame_queue" libopencore_amrwb_decoder_deps="libopencore_amrwb" libopenjpeg_decoder_deps="libopenjpeg" libopenjpeg_encoder_deps="libopenjpeg" libopus_decoder_deps="libopus" libopus_encoder_deps="libopus" +libopus_encoder_select="audio_frame_queue" libschroedinger_decoder_deps="libschroedinger" libschroedinger_encoder_deps="libschroedinger" libspeex_decoder_deps="libspeex" libspeex_encoder_deps="libspeex" +libspeex_encoder_select="audio_frame_queue" libstagefright_h264_decoder_deps="libstagefright_h264" libtheora_encoder_deps="libtheora" libtwolame_encoder_deps="libtwolame" libvo_aacenc_encoder_deps="libvo_aacenc" +libvo_aacenc_encoder_select="audio_frame_queue" libvo_amrwbenc_encoder_deps="libvo_amrwbenc" libvorbis_decoder_deps="libvorbis" libvorbis_encoder_deps="libvorbis" +libvorbis_encoder_select="audio_frame_queue" libvpx_vp8_decoder_deps="libvpx" libvpx_vp8_encoder_deps="libvpx" libvpx_vp9_decoder_deps="libvpx" @@ -2006,6 +2022,7 @@ movie_filter_deps="avcodec avformat" mp_filter_deps="gpl avcodec swscale inline_asm" mptestsrc_filter_deps="gpl" negate_filter_deps="lut_filter" +noise_filter_deps="gpl" resample_filter_deps="avresample" ocv_filter_deps="libopencv" pan_filter_deps="swresample" @@ -3156,7 +3173,7 @@ case $target_os in openbsd|bitrig) disable symver SHFLAGS='-shared' - SLIBNAME_WITH_MAJOR='$(SLIBNAME).$(LIBVERSION)' + SLIB_INSTALL_NAME='$(SLIBNAME).$(LIBMAJOR).$(LIBMINOR)' SLIB_INSTALL_LINKS= oss_indev_extralibs="-lossaudio" oss_outdev_extralibs="-lossaudio" @@ -3220,7 +3237,6 @@ case $target_os in objformat="win32" ranlib=: enable dos_paths - add_cppflags -U__STRICT_ANSI__ ;; win32|win64) if enabled shared; then @@ -3347,26 +3363,29 @@ esac # determine libc flavour +# uclibc defines __GLIBC__, so it needs to be checked before glibc. if check_cpp_condition features.h "defined __UCLIBC__"; then libc_type=uclibc add_cppflags -D_POSIX_C_SOURCE=200112 -D_XOPEN_SOURCE=600 elif check_cpp_condition features.h "defined __GLIBC__"; then libc_type=glibc add_cppflags -D_POSIX_C_SOURCE=200112 -D_XOPEN_SOURCE=600 +# MinGW headers can be installed on Cygwin, so check for newlib first. +elif check_cpp_condition newlib.h "defined _NEWLIB_VERSION"; then + libc_type=newlib + add_cppflags -U__STRICT_ANSI__ elif check_header _mingw.h; then libc_type=mingw check_cpp_condition _mingw.h \ "defined (__MINGW64_VERSION_MAJOR) || (__MINGW32_MAJOR_VERSION > 3) || \ (__MINGW32_MAJOR_VERSION == 3 && __MINGW32_MINOR_VERSION >= 15)" || die "ERROR: MinGW runtime version must be >= 3.15." + add_cppflags -U__STRICT_ANSI__ if check_cpp_condition _mingw.h "defined(__MINGW64_VERSION_MAJOR) && \ __MINGW64_VERSION_MAJOR < 3"; then add_compat msvcrt/snprintf.o add_cflags "-include $source_path/compat/msvcrt/snprintf.h" fi -elif check_cpp_condition newlib.h "defined _NEWLIB_VERSION"; then - libc_type=newlib - add_cppflags -U__STRICT_ANSI__ elif check_func_headers stdlib.h _get_doserrno; then libc_type=msvcrt add_compat strtod.o strtod=avpriv_strtod @@ -3707,6 +3726,7 @@ check_func getopt check_func getrusage check_struct "sys/time.h sys/resource.h" "struct rusage" ru_maxrss check_func gettimeofday +check_func iconv || check_lib2 iconv.h iconv -liconv check_func inet_aton $network_extralibs check_func isatty check_func localtime_r @@ -4449,6 +4469,7 @@ get_version(){ eval ${name}_VERSION=\$${name}_VERSION_MAJOR.\$${name}_VERSION_MINOR.\$${name}_VERSION_MICRO eval echo "${lcname}_VERSION=\$${name}_VERSION" >> config.mak eval echo "${lcname}_VERSION_MAJOR=\$${name}_VERSION_MAJOR" >> config.mak + eval echo "${lcname}_VERSION_MINOR=\$${name}_VERSION_MINOR" >> config.mak } map 'get_version $v' $LIBRARY_LIST @@ -4523,7 +4544,7 @@ pkgconfig_generate(){ requires=$5 enabled ${name#lib} || return 0 mkdir -p $name - cat < $name/$name.pc + cat < $name/$name${build_suffix}.pc prefix=$prefix exec_prefix=\${prefix} libdir=$libdir @@ -4559,27 +4580,27 @@ Cflags: -I\${includedir} EOF } -libavfilter_pc_deps="libavutil = $LIBAVUTIL_VERSION" -enabled libavfilter_deps_avcodec && prepend libavfilter_pc_deps "libavcodec = $LIBAVCODEC_VERSION," -enabled libavfilter_deps_avformat && prepend libavfilter_pc_deps "libavformat = $LIBAVFORMAT_VERSION," -enabled libavfilter_deps_avresample && prepend libavfilter_pc_deps "libavresample = $LIBAVRESAMPLE_VERSION," -enabled libavfilter_deps_swscale && prepend libavfilter_pc_deps "libswscale = $LIBSWSCALE_VERSION," -enabled libavfilter_deps_swresample && prepend libavfilter_pc_deps "libswresample = $LIBSWRESAMPLE_VERSION," -enabled libavfilter_deps_postproc && prepend libavfilter_pc_deps "libpostproc = $LIBPOSTPROC_VERSION," +libavfilter_pc_deps="libavutil${build_suffix} = $LIBAVUTIL_VERSION" +enabled libavfilter_deps_avcodec && prepend libavfilter_pc_deps "libavcodec${build_suffix} = $LIBAVCODEC_VERSION," +enabled libavfilter_deps_avformat && prepend libavfilter_pc_deps "libavformat${build_suffix} = $LIBAVFORMAT_VERSION," +enabled libavfilter_deps_avresample && prepend libavfilter_pc_deps "libavresample${build_suffix} = $LIBAVRESAMPLE_VERSION," +enabled libavfilter_deps_swscale && prepend libavfilter_pc_deps "libswscale${build_suffix} = $LIBSWSCALE_VERSION," +enabled libavfilter_deps_swresample && prepend libavfilter_pc_deps "libswresample${build_suffix} = $LIBSWRESAMPLE_VERSION," +enabled libavfilter_deps_postproc && prepend libavfilter_pc_deps "libpostproc${build_suffix} = $LIBPOSTPROC_VERSION," libavfilter_pc_deps=${libavfilter_pc_deps%, } -libavdevice_pc_deps="libavformat = $LIBAVFORMAT_VERSION" -enabled lavfi_indev && prepend libavdevice_pc_deps "libavfilter = $LIBAVFILTER_VERSION," +libavdevice_pc_deps="libavformat${build_suffix} = $LIBAVFORMAT_VERSION" +enabled lavfi_indev && prepend libavdevice_pc_deps "libavfilter${build_suffix} = $LIBAVFILTER_VERSION," pkgconfig_generate libavutil "FFmpeg utility library" "$LIBAVUTIL_VERSION" "$LIBM" -pkgconfig_generate libavcodec "FFmpeg codec library" "$LIBAVCODEC_VERSION" "$extralibs" "libavutil = $LIBAVUTIL_VERSION" -pkgconfig_generate libavformat "FFmpeg container format library" "$LIBAVFORMAT_VERSION" "$extralibs" "libavcodec = $LIBAVCODEC_VERSION" +pkgconfig_generate libavcodec "FFmpeg codec library" "$LIBAVCODEC_VERSION" "$extralibs" "libavutil${build_suffix} = $LIBAVUTIL_VERSION" +pkgconfig_generate libavformat "FFmpeg container format library" "$LIBAVFORMAT_VERSION" "$extralibs" "libavcodec${build_suffix} = $LIBAVCODEC_VERSION" pkgconfig_generate libavdevice "FFmpeg device handling library" "$LIBAVDEVICE_VERSION" "$extralibs" "$libavdevice_pc_deps" -pkgconfig_generate libavfilter "FFmpeg video filtering library" "$LIBAVFILTER_VERSION" "$extralibs" "$libavfilter_pc_deps" -pkgconfig_generate libpostproc "FFmpeg postprocessing library" "$LIBPOSTPROC_VERSION" "" "libavutil = $LIBAVUTIL_VERSION" -pkgconfig_generate libavresample "Libav audio resampling library" "$LIBAVRESAMPLE_VERSION" "$extralibs" "libavutil = $LIBAVUTIL_VERSION" -pkgconfig_generate libswscale "FFmpeg image rescaling library" "$LIBSWSCALE_VERSION" "$LIBM" "libavutil = $LIBAVUTIL_VERSION" -pkgconfig_generate libswresample "FFmpeg audio resampling library" "$LIBSWRESAMPLE_VERSION" "$LIBM" "libavutil = $LIBAVUTIL_VERSION" +pkgconfig_generate libavfilter "FFmpeg audio/video filtering library" "$LIBAVFILTER_VERSION" "$extralibs" "$libavfilter_pc_deps" +pkgconfig_generate libpostproc "FFmpeg postprocessing library" "$LIBPOSTPROC_VERSION" "" "libavutil${build_suffix} = $LIBAVUTIL_VERSION" +pkgconfig_generate libavresample "Libav audio resampling library" "$LIBAVRESAMPLE_VERSION" "$extralibs" "libavutil${build_suffix} = $LIBAVUTIL_VERSION" +pkgconfig_generate libswscale "FFmpeg image rescaling library" "$LIBSWSCALE_VERSION" "$LIBM" "libavutil${build_suffix} = $LIBAVUTIL_VERSION" +pkgconfig_generate libswresample "FFmpeg audio resampling library" "$LIBSWRESAMPLE_VERSION" "$LIBM" "libavutil${build_suffix} = $LIBAVUTIL_VERSION" fix_ffmpeg_remote(){ git_remote_from=$1