X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=configure;h=91f366ef5ac62f4e1643b3aa45d0d68341eb629d;hb=7213d3fbf30b6be53c272c1c61c797a2b7b697a0;hp=f3550a09c3307d088e6eac811077b105e45c2df2;hpb=2e290d61147a084de86777c26c95908ce62e0033;p=ffmpeg diff --git a/configure b/configure index f3550a09c33..91f366ef5ac 100755 --- a/configure +++ b/configure @@ -155,6 +155,7 @@ Hardware accelerators: --disable-vaapi disable VAAPI code [autodetect] --disable-vda disable VDA code [autodetect] --disable-vdpau disable VDPAU code [autodetect] + --enable-videotoolbox enable VideoToolbox code [autodetect] Individual component options: --disable-everything disable all components listed below @@ -1311,12 +1312,6 @@ check_host_cpp_condition(){ EOF } -apply(){ - file=$1 - shift - "$@" < "$file" > "$file.tmp" && mv "$file.tmp" "$file" || rm "$file.tmp" -} - cp_if_changed(){ cmp -s "$1" "$2" && echo "$2 is unchanged" && return mkdir -p "$(dirname $2)" @@ -1342,7 +1337,7 @@ COMPONENT_LIST=" EXAMPLE_LIST=" avio_reading_example - avio_list_dir_example + avio_dir_cmd_example decoding_encoding_example demuxing_decoding_example extract_mvs_example @@ -1470,6 +1465,7 @@ HWACCEL_LIST=" vaapi vda vdpau + videotoolbox xvmc " @@ -1690,6 +1686,7 @@ HEADERS_LIST=" dev_video_bktr_ioctl_bt848_h dev_video_meteor_ioctl_meteor_h direct_h + dirent_h dlfcn_h d3d11_h dxva_h @@ -1785,6 +1782,7 @@ SYSTEM_FUNCS=" jack_port_get_latency_range kbhit localtime_r + lstat lzo1x_999_compress mach_absolute_time MapViewOfFile @@ -2139,7 +2137,7 @@ me_cmp_select="fdctdsp idctdsp pixblockdsp" mpeg_er_select="error_resilience" mpegaudio_select="mpegaudiodsp" mpegaudiodsp_select="dct" -mpegvideo_select="blockdsp h264chroma hpeldsp idctdsp me_cmp videodsp" +mpegvideo_select="blockdsp h264chroma hpeldsp idctdsp me_cmp mpeg_er videodsp" mpegvideoenc_select="me_cmp mpegvideo pixblockdsp qpeldsp" qsvdec_select="qsv" qsvenc_select="qsv" @@ -2147,7 +2145,7 @@ qsvenc_select="qsv" # decoders / encoders aac_decoder_select="imdct15 mdct sinewin" aac_fixed_decoder_select="mdct sinewin" -aac_encoder_select="audio_frame_queue iirfilter mdct sinewin" +aac_encoder_select="audio_frame_queue iirfilter lpc mdct sinewin" aac_latm_decoder_select="aac_decoder aac_latm_parser" ac3_decoder_select="ac3_parser ac3dsp bswapdsp fmtconvert mdct" ac3_fixed_decoder_select="ac3_parser ac3dsp bswapdsp mdct" @@ -2213,9 +2211,9 @@ fourxm_decoder_select="blockdsp bswapdsp" fraps_decoder_select="bswapdsp huffman" g2m_decoder_select="blockdsp idctdsp jpegtables zlib" g729_decoder_select="audiodsp" -h261_decoder_select="mpeg_er mpegvideo" +h261_decoder_select="mpegvideo" h261_encoder_select="aandcttables mpegvideoenc" -h263_decoder_select="error_resilience h263_parser h263dsp mpeg_er mpegvideo qpeldsp" +h263_decoder_select="h263_parser h263dsp mpegvideo qpeldsp" h263_encoder_select="aandcttables h263dsp mpegvideoenc" h263i_decoder_select="h263_decoder" h263p_decoder_select="h263_decoder" @@ -2270,10 +2268,10 @@ 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" +mpegvideo_decoder_select="mpegvideo" +mpeg1video_decoder_select="mpegvideo" mpeg1video_encoder_select="aandcttables mpegvideoenc h263dsp" -mpeg2video_decoder_select="error_resilience mpeg_er mpegvideo" +mpeg2video_decoder_select="mpegvideo" mpeg2video_encoder_select="aandcttables mpegvideoenc h263dsp" mpeg2_qsv_decoder_deps="libmfx" mpeg2_qsv_decoder_select="qsvdec mpeg2_qsv_hwaccel" @@ -2287,7 +2285,7 @@ msmpeg4v2_decoder_select="h263_decoder" msmpeg4v2_encoder_select="h263_encoder" msmpeg4v3_decoder_select="h263_decoder" msmpeg4v3_encoder_select="h263_encoder" -mss2_decoder_select="error_resilience mpeg_er qpeldsp vc1_decoder" +mss2_decoder_select="vc1_decoder" mts2_decoder_select="mss34dsp" mxpeg_decoder_select="mjpeg_decoder" nellymoser_decoder_select="mdct sinewin" @@ -2307,12 +2305,12 @@ ra_144_decoder_select="audiodsp" ralf_decoder_select="golomb" rawvideo_decoder_select="bswapdsp" rtjpeg_decoder_select="me_cmp" -rv10_decoder_select="error_resilience h263_decoder h263dsp mpeg_er" +rv10_decoder_select="h263_decoder" rv10_encoder_select="h263_encoder" -rv20_decoder_select="error_resilience h263_decoder h263dsp mpeg_er" +rv20_decoder_select="h263_decoder" rv20_encoder_select="h263_encoder" -rv30_decoder_select="error_resilience golomb h264chroma h264pred h264qpel mpeg_er mpegvideo rv34dsp videodsp" -rv40_decoder_select="error_resilience golomb h264chroma h264pred h264qpel mpeg_er mpegvideo rv34dsp videodsp" +rv30_decoder_select="golomb h264pred h264qpel mpegvideo rv34dsp" +rv40_decoder_select="golomb h264pred h264qpel mpegvideo rv34dsp" shorten_decoder_select="golomb" sipr_decoder_select="lsp" snow_decoder_select="dwt h264qpel hpeldsp me_cmp rangecoder videodsp" @@ -2340,7 +2338,7 @@ txd_decoder_select="texturedsp" utvideo_decoder_select="bswapdsp" utvideo_encoder_select="bswapdsp huffman huffyuvencdsp" vble_decoder_select="huffyuvdsp" -vc1_decoder_select="blockdsp error_resilience h263_decoder h264chroma h264qpel intrax8 mpeg_er qpeldsp startcode" +vc1_decoder_select="blockdsp h263_decoder h264qpel intrax8 qpeldsp startcode" vc1image_decoder_select="vc1_decoder" vc1_qsv_decoder_deps="libmfx" vc1_qsv_decoder_select="qsvdec vc1_qsv_hwaccel" @@ -2379,15 +2377,19 @@ crystalhd_deps="libcrystalhd_libcrystalhd_if_h" d3d11va_deps="d3d11_h dxva_h ID3D11VideoDecoder" dxva2_deps="dxva2api_h DXVA2_ConfigPictureDecode" vaapi_deps="va_va_h" -vda_deps="VideoDecodeAcceleration_VDADecoder_h pthreads" -vda_extralibs="-framework CoreFoundation -framework VideoDecodeAcceleration -framework QuartzCore" +vda_deps="VideoDecodeAcceleration_VDADecoder_h pthreads CoreServices_CoreServices_h" +vda_extralibs="-framework CoreFoundation -framework VideoDecodeAcceleration -framework QuartzCore -framework CoreServices" vdpau_deps="vdpau_vdpau_h vdpau_vdpau_x11_h" +videotoolbox_deps="VideoToolbox_VideoToolbox_h pthreads CoreServices_CoreServices_h" +videotoolbox_extralibs="-framework CoreFoundation -framework VideoToolbox -framework CoreMedia -framework QuartzCore -framework CoreServices" xvmc_deps="X11_extensions_XvMClib_h" h263_vaapi_hwaccel_deps="vaapi" h263_vaapi_hwaccel_select="h263_decoder" h263_vdpau_hwaccel_deps="vdpau" h263_vdpau_hwaccel_select="h263_decoder" +h263_videotoolbox_hwaccel_deps="videotoolbox" +h263_videotoolbox_hwaccel_select="h263_decoder" h264_crystalhd_decoder_select="crystalhd h264_mp4toannexb_bsf h264_parser" h264_d3d11va_hwaccel_deps="d3d11va" h264_d3d11va_hwaccel_select="h264_decoder" @@ -2410,11 +2412,15 @@ h264_vdpau_decoder_deps="vdpau" h264_vdpau_decoder_select="h264_decoder" h264_vdpau_hwaccel_deps="vdpau" h264_vdpau_hwaccel_select="h264_decoder" +h264_videotoolbox_hwaccel_deps="videotoolbox" +h264_videotoolbox_hwaccel_select="h264_decoder" hevc_d3d11va_hwaccel_deps="d3d11va DXVA_PicParams_HEVC" hevc_d3d11va_hwaccel_select="hevc_decoder" hevc_dxva2_hwaccel_deps="dxva2 DXVA_PicParams_HEVC" hevc_dxva2_hwaccel_select="hevc_decoder" hevc_qsv_hwaccel_deps="libmfx" +hevc_vaapi_hwaccel_deps="vaapi VAPictureParameterBufferHEVC" +hevc_vaapi_hwaccel_select="hevc_decoder" hevc_vdpau_hwaccel_deps="vdpau VdpPictureInfoHEVC" hevc_vdpau_hwaccel_select="hevc_decoder" mpeg_vdpau_decoder_deps="vdpau" @@ -2425,6 +2431,8 @@ mpeg1_vdpau_decoder_deps="vdpau" mpeg1_vdpau_decoder_select="mpeg1video_decoder" mpeg1_vdpau_hwaccel_deps="vdpau" mpeg1_vdpau_hwaccel_select="mpeg1video_decoder" +mpeg1_videotoolbox_hwaccel_deps="videotoolbox" +mpeg1_videotoolbox_hwaccel_select="mpeg1video_decoder" mpeg1_xvmc_hwaccel_deps="xvmc" mpeg1_xvmc_hwaccel_select="mpeg1video_decoder" mpeg2_crystalhd_decoder_select="crystalhd" @@ -2438,6 +2446,8 @@ mpeg2_vaapi_hwaccel_deps="vaapi" mpeg2_vaapi_hwaccel_select="mpeg2video_decoder" mpeg2_vdpau_hwaccel_deps="vdpau" mpeg2_vdpau_hwaccel_select="mpeg2video_decoder" +mpeg2_videotoolbox_hwaccel_deps="videotoolbox" +mpeg2_videotoolbox_hwaccel_select="mpeg2video_decoder" mpeg2_xvmc_hwaccel_deps="xvmc" mpeg2_xvmc_hwaccel_select="mpeg2video_decoder" mpeg4_crystalhd_decoder_select="crystalhd" @@ -2447,6 +2457,8 @@ mpeg4_vdpau_decoder_deps="vdpau" mpeg4_vdpau_decoder_select="mpeg4_decoder" mpeg4_vdpau_hwaccel_deps="vdpau" mpeg4_vdpau_hwaccel_select="mpeg4_decoder" +mpeg4_videotoolbox_hwaccel_deps="videotoolbox" +mpeg4_videotoolbox_hwaccel_select="mpeg4_decoder" msmpeg4_crystalhd_decoder_select="crystalhd" vc1_crystalhd_decoder_select="crystalhd" vc1_d3d11va_hwaccel_deps="d3d11va" @@ -2472,7 +2484,7 @@ wmv3_vdpau_hwaccel_select="vc1_vdpau_hwaccel" h264_parser_select="h264_decoder" hevc_parser_select="golomb" mpegvideo_parser_select="mpegvideo" -mpeg4video_parser_select="error_resilience h263dsp mpeg_er mpegvideo qpeldsp" +mpeg4video_parser_select="h263dsp mpegvideo qpeldsp" vc1_parser_select="mpegvideo startcode vc1_decoder" # bitstream_filters @@ -2766,10 +2778,13 @@ repeatfields_filter_deps="gpl" resample_filter_deps="avresample" sab_filter_deps="gpl swscale" scale_filter_deps="swscale" +scale2ref_filter_deps="swscale" select_filter_select="pixelutils" smartblur_filter_deps="gpl swscale" showcqt_filter_deps="avcodec" showcqt_filter_select="fft" +showfreqs_filter_deps="avcodec" +showfreqs_filter_select="fft" showspectrum_filter_deps="avcodec" showspectrum_filter_select="rdft" spp_filter_deps="gpl avcodec" @@ -2789,7 +2804,7 @@ zoompan_filter_deps="swscale" # examples avio_reading="avformat avcodec avutil" -avio_list_dir="avformat avutil" +avio_dir_cmd="avformat avutil" avcodec_example_deps="avcodec avutil" decoding_encoding_example_deps="avcodec avformat avutil" demuxing_decoding_example_deps="avcodec avformat avutil" @@ -2902,7 +2917,7 @@ sws_max_filter_size_default=256 set_default sws_max_filter_size # Enable hwaccels by default. -enable d3d11va dxva2 vaapi vda vdpau xvmc +enable d3d11va dxva2 vaapi vda vdpau videotoolbox xvmc enable xlib # build settings @@ -2955,8 +2970,9 @@ if test -f configure; then source_path=. else source_path=$(cd $(dirname "$0"); pwd) - echo "$source_path" | grep -q '[[:blank:]]' && - die "Out of tree builds are impossible with whitespace in source path." + case "$source_path" in + *[[:blank:]]*) die "Out of tree builds are impossible with whitespace in source path." ;; + esac test -e "$source_path/config.h" && die "Out of tree builds are impossible with config.h in source dir." fi @@ -3527,6 +3543,7 @@ tms470_flags(){ probe_cc(){ pfx=$1 _cc=$2 + first=$3 unset _type _ident _cc_c _cc_e _cc_o _flags _cflags unset _ld_o _ldflags _ld_lib _ld_path @@ -3537,8 +3554,8 @@ probe_cc(){ true # no-op to avoid reading stdin in following checks elif $_cc -v 2>&1 | grep -q '^gcc.*LLVM'; then _type=llvm_gcc - gcc_extra_ver=$(expr "$($_cc --version | head -n1)" : '.*\((.*)\)') - _ident="llvm-gcc $($_cc -dumpversion) $gcc_extra_ver" + gcc_extra_ver=$(expr "$($_cc --version 2>/dev/null | head -n1)" : '.*\((.*)\)') + _ident="llvm-gcc $($_cc -dumpversion 2>/dev/null) $gcc_extra_ver" _depflags='-MMD -MF $(@:.o=.d) -MT $@' _cflags_speed='-O3' _cflags_size='-Os' @@ -3549,8 +3566,14 @@ probe_cc(){ gcc_pkg_ver=$(expr "$gcc_version" : '[^ ]* \(([^)]*)\)') gcc_ext_ver=$(expr "$gcc_version" : ".*$gcc_pkg_ver $gcc_basever \\(.*\\)") _ident=$(cleanws "gcc $gcc_basever $gcc_pkg_ver $gcc_ext_ver") - if ! $_cc -dumpversion | grep -q '^2\.'; then - _depflags='-MMD -MF $(@:.o=.d) -MT $@' + case $gcc_basever in + 2*) _depflags='-MMD -MF $(@:.o=.d) -MT $@' ;; + esac + if [ "$first" = true ]; then + case $gcc_basever in + 4.2*) + warn "gcc 4.2 is outdated and may miscompile FFmpeg. Please use a newer compiler." ;; + esac fi _cflags_speed='-O3' _cflags_size='-Os' @@ -3602,7 +3625,7 @@ probe_cc(){ _flags_filter=tms470_flags elif $_cc -v 2>&1 | grep -q clang; then _type=clang - _ident=$($_cc --version | head -n1) + _ident=$($_cc --version 2>/dev/null | head -n1) _depflags='-MMD -MF $(@:.o=.d) -MT $@' _cflags_speed='-O3' _cflags_size='-Os' @@ -3714,7 +3737,7 @@ set_ccvars(){ fi } -probe_cc cc "$cc" +probe_cc cc "$cc" "true" cflags_filter=$_flags_filter cflags_speed=$_cflags_speed cflags_size=$_cflags_size @@ -4781,7 +4804,7 @@ EOF enable vfp_args elif check_cpp_condition stddef.h "defined _M_ARM_FP && _M_ARM_FP >= 30"; then enable vfp_args - elif ! check_cpp_condition stddef.h "defined __ARM_PCS || defined __SOFTFP__"; then + elif ! check_cpp_condition stddef.h "defined __ARM_PCS || defined __SOFTFP__" && [ $target_os != darwin ]; then case "${cross_prefix:-$cc}" in *hardfloat*) enable vfp_args; fpabi=vfp ;; *) check_ld "cc" <= 3.98.3" lame/lame.h lame_set_VBR_quality -lmp3lame @@ -5360,6 +5389,9 @@ if ! disabled sdl; then disable sdl fi fi + if test $target_os = "mingw32"; then + sdl_libs="$sdl_libs -mconsole" + fi fi enabled sdl && add_cflags $sdl_cflags && add_extralibs $sdl_libs @@ -5816,6 +5848,7 @@ enabled removelogo_filter && prepend avfilter_deps "avformat avcodec swscale" enabled resample_filter && prepend avfilter_deps "avresample" enabled sab_filter && prepend avfilter_deps "swscale" enabled scale_filter && prepend avfilter_deps "swscale" +enabled scale2ref_filter && prepend avfilter_deps "swscale" enabled showspectrum_filter && prepend avfilter_deps "avcodec" enabled smartblur_filter && prepend avfilter_deps "swscale" enabled subtitles_filter && prepend avfilter_deps "avformat avcodec" @@ -5924,6 +5957,10 @@ test -n "$random_seed" && echo "random seed ${random_seed}" echo +echo "Enabled programs:" +print_enabled '' $PROGRAM_LIST | print_3_columns +echo + echo "External libraries:" print_enabled '' $EXTERNAL_LIBRARY_LIST | print_3_columns echo