X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=configure;h=43b63bb6fa0319b508e88a0abbbfb34fdfb011e7;hb=09f25a9cb08ddf39dcb16898c36ed793006093fd;hp=cc7ba534df9f1fdede7cc170c2b9a823f163a1b6;hpb=964912aba56a29acf25c9e216255ea44190f419a;p=ffmpeg diff --git a/configure b/configure index cc7ba534df9..43b63bb6fa0 100755 --- a/configure +++ b/configure @@ -81,7 +81,7 @@ Configuration options: and binaries will be unredistributable [no] --disable-doc do not build documentation --disable-ffmpeg disable ffmpeg build - --disable-avconv disable avconv build + --enable-avconv enable avconv build --disable-ffplay disable ffplay build --disable-ffprobe disable ffprobe build --disable-ffserver disable ffserver build @@ -116,6 +116,9 @@ Configuration options: --disable-vda disable VDA code --enable-runtime-cpudetect detect cpu capabilities at runtime (bigger binary) --enable-hardcoded-tables use hardcoded tables instead of runtime generation + --disable-safe-bitstream-reader + disable buffer boundary checking in bitreaders + (faster, but may crash) --enable-memalign-hack emulate memalign, interferes with memory debuggers --disable-everything disable all components listed below --disable-encoder=NAME disable encoder NAME @@ -978,8 +981,20 @@ COMPONENT_LIST=" protocols " +PROGRAM_LIST=" + ffplay + ffprobe + ffserver + ffmpeg +" + CONFIG_LIST=" $COMPONENT_LIST + $PROGRAM_LIST + avconv + avplay + avprobe + avserver aandct ac3dsp avcodec @@ -994,17 +1009,13 @@ CONFIG_LIST=" dwt dxva2 fastdiv - ffmpeg - avconv - ffplay - ffprobe - ffserver fft frei0r gnutls golomb gpl gray + h264chroma h264dsp h264pred hardcoded_tables @@ -1055,6 +1066,7 @@ CONFIG_LIST=" rdft rtpdec runtime_cpudetect + safe_bitstream_reader shared sinewin small @@ -1137,9 +1149,9 @@ HAVE_LIST=" altivec_h arpa_inet_h asm_mod_y + asm_types_h attribute_may_alias attribute_packed - bswap cbrtf closesocket cmov @@ -1147,8 +1159,8 @@ HAVE_LIST=" dev_bktr_ioctl_bt848_h dev_bktr_ioctl_meteor_h dev_ic_bt8xx_h - dev_video_meteor_ioctl_meteor_h dev_video_bktr_ioctl_bt848_h + dev_video_meteor_ioctl_meteor_h dlfcn_h dlopen dos_paths @@ -1163,11 +1175,11 @@ HAVE_LIST=" fork getaddrinfo gethrtime + GetProcessAffinityMask GetProcessMemoryInfo GetProcessTimes getrusage gnu_as - struct_rusage_ru_maxrss ibm_asm inet_aton inline_asm @@ -1187,34 +1199,41 @@ HAVE_LIST=" lzo1x_999_compress machine_ioctl_bt848_h machine_ioctl_meteor_h + makeinfo malloc_h MapViewOfFile memalign mkstemp mmap PeekNamedPipe + poll_h posix_memalign round roundf + sched_getaffinity sdl sdl_video_size setmode + setrlimit sndio_h socklen_t soundcard_h - poll_h - setrlimit strerror_r strptime struct_addrinfo struct_ipv6_mreq + struct_rusage_ru_maxrss struct_sockaddr_in6 struct_sockaddr_sa_len struct_sockaddr_storage + struct_v4l2_frmivalenum_discrete symver - symver_gnu_asm symver_asm_label + symver_gnu_asm + sysconf + sysctl sys_mman_h + sys_param_h sys_resource_h sys_select_h sys_soundcard_h @@ -1336,8 +1355,8 @@ fast_64bit_if_any="alpha ia64 mips64 parisc64 ppc64 sparc64 x86_64" fast_clz_if_any="alpha armv5te avr32 mips ppc x86" fast_unaligned_if_any="armv6 ppc x86" -need_memalign="altivec neon sse" inline_asm_deps="!tms470" +need_memalign="altivec neon sse" symver_if_any="symver_asm_label symver_gnu_asm" @@ -1388,8 +1407,8 @@ h263_encoder_select="aandct" h263_vaapi_hwaccel_select="vaapi h263_decoder" h263i_decoder_select="h263_decoder" h263p_encoder_select="h263_encoder" -h264_decoder_select="golomb h264dsp h264pred" h264_crystalhd_decoder_select="crystalhd h264_mp4toannexb_bsf h264_parser" +h264_decoder_select="golomb h264chroma h264dsp h264pred" h264_dxva2_hwaccel_deps="dxva2api_h" h264_dxva2_hwaccel_select="dxva2 h264_decoder" h264_vaapi_hwaccel_select="vaapi h264_decoder" @@ -1404,32 +1423,34 @@ loco_decoder_select="golomb" mjpeg_encoder_select="aandct" mlp_decoder_select="mlp_parser" mp1_decoder_select="mpegaudiodsp" -mp2_decoder_select="mpegaudiodsp" -mp3adu_decoder_select="mpegaudiodsp" -mp3_decoder_select="mpegaudiodsp" -mp3on4_decoder_select="mpegaudiodsp" mp1float_decoder_select="mpegaudiodsp" +mp2_decoder_select="mpegaudiodsp" mp2float_decoder_select="mpegaudiodsp" +mp3_decoder_select="mpegaudiodsp" +mp3adu_decoder_select="mpegaudiodsp" mp3adufloat_decoder_select="mpegaudiodsp" mp3float_decoder_select="mpegaudiodsp" +mp3on4_decoder_select="mpegaudiodsp" mp3on4float_decoder_select="mpegaudiodsp" -mpeg1video_encoder_select="aandct" -mpeg2video_encoder_select="aandct" -mpeg4_decoder_select="h263_decoder mpeg4video_parser" -mpeg4_encoder_select="h263_encoder" +mpc7_decoder_select="mpegaudiodsp" +mpc8_decoder_select="mpegaudiodsp" mpeg_vdpau_decoder_select="vdpau mpegvideo_decoder" +mpeg_xvmc_decoder_deps="X11_extensions_XvMClib_h" +mpeg_xvmc_decoder_select="mpegvideo_decoder" mpeg1_vdpau_decoder_select="vdpau mpeg1video_decoder" mpeg1_vdpau_hwaccel_select="vdpau mpeg1video_decoder" +mpeg1video_encoder_select="aandct" mpeg2_crystalhd_decoder_select="crystalhd" mpeg2_dxva2_hwaccel_deps="dxva2api_h" mpeg2_dxva2_hwaccel_select="dxva2 mpeg2video_decoder" mpeg2_vdpau_hwaccel_select="vdpau mpeg2video_decoder" mpeg2_vaapi_hwaccel_select="vaapi mpeg2video_decoder" +mpeg2video_encoder_select="aandct" mpeg4_crystalhd_decoder_select="crystalhd" +mpeg4_decoder_select="h263_decoder mpeg4video_parser" +mpeg4_encoder_select="h263_encoder" mpeg4_vaapi_hwaccel_select="vaapi mpeg4_decoder" mpeg4_vdpau_decoder_select="vdpau mpeg4_decoder" -mpeg_xvmc_decoder_deps="X11_extensions_XvMClib_h" -mpeg_xvmc_decoder_select="mpegvideo_decoder" msmpeg4_crystalhd_decoder_select="crystalhd" msmpeg4v1_decoder_select="h263_decoder" msmpeg4v1_encoder_select="h263_encoder" @@ -1448,8 +1469,8 @@ rv10_decoder_select="h263_decoder" rv10_encoder_select="h263_encoder" rv20_decoder_select="h263_decoder" rv20_encoder_select="h263_encoder" -rv30_decoder_select="golomb h264pred" -rv40_decoder_select="golomb h264pred" +rv30_decoder_select="golomb h264chroma h264pred" +rv40_decoder_select="golomb h264chroma h264pred" shorten_decoder_select="golomb" sipr_decoder_select="lsp" snow_decoder_select="dwt" @@ -1458,7 +1479,7 @@ sonic_decoder_select="golomb" sonic_encoder_select="golomb" sonic_ls_encoder_select="golomb" svq1_encoder_select="aandct" -svq3_decoder_select="golomb h264dsp h264pred" +svq3_decoder_select="golomb h264chroma h264dsp h264pred" svq3_decoder_suggest="zlib" theora_decoder_select="vp3_decoder" tiff_decoder_suggest="zlib" @@ -1466,8 +1487,8 @@ tiff_encoder_suggest="zlib" truehd_decoder_select="mlp_decoder" tscc_decoder_select="zlib" twinvq_decoder_select="mdct lsp sinewin" -vc1_decoder_select="h263_decoder" vc1_crystalhd_decoder_select="crystalhd" +vc1_decoder_select="h263_decoder h264chroma" vc1_dxva2_hwaccel_deps="dxva2api_h" vc1_dxva2_hwaccel_select="dxva2 vc1_decoder" vc1_vaapi_hwaccel_select="vaapi vc1_decoder" @@ -1506,7 +1527,7 @@ vda_deps="VideoDecodeAcceleration_VDADecoder_h pthreads" vdpau_deps="vdpau_vdpau_h vdpau_vdpau_x11_h" # parsers -h264_parser_select="golomb h264dsp h264pred" +h264_parser_select="golomb h264chroma h264dsp h264pred" # external libraries libaacplus_encoder_deps="libaacplus" @@ -1633,6 +1654,7 @@ mptestsrc_filter_deps="gpl" negate_filter_deps="lut_filter" ocv_filter_deps="libopencv" scale_filter_deps="swscale" +tinterlace_filter_deps="gpl" yadif_filter_deps="gpl" # libraries @@ -1641,15 +1663,14 @@ avformat_deps="avcodec" postproc_deps="gpl" # programs -ffmpeg_deps="avcodec avformat swscale swresample" -ffmpeg_select="buffer_filter buffersink_filter" avconv_deps="avcodec avformat swscale" -avconv_select="buffer_filter" ffplay_deps="avcodec avformat swscale sdl" ffplay_select="buffersink_filter rdft" ffprobe_deps="avcodec avformat" ffserver_deps="avformat ffm_muxer fork rtp_protocol rtsp_demuxer" ffserver_extralibs='$ldl' +ffmpeg_deps="avcodec avformat swscale swresample" +ffmpeg_select="buffersink_filter" doc_deps="texi2html" @@ -1672,7 +1693,6 @@ mxf_d10_test_deps="avfilter" seek_lavf_mxf_d10_test_deps="mxf_d10_test" test_deps _encoder _decoder \ - adpcm_g726=g726 \ adpcm_ima_qt \ adpcm_ima_wav \ adpcm_ms \ @@ -1688,6 +1708,7 @@ test_deps _encoder _decoder \ flac \ flashsv \ flv \ + adpcm_g726=g726 \ gif \ h261 \ h263="h263 h263p" \ @@ -1776,9 +1797,9 @@ pkg_config_default=pkg-config ranlib="ranlib" strip_default="strip" yasmexe="yasm" -nogas=":" nm_opts='-g' +nogas=":" # machine arch_default=$(uname -m) @@ -1789,28 +1810,26 @@ target_os_default=$(tolower $(uname -s)) host_os=$target_os_default # configurable options +enable $PROGRAM_LIST + enable avcodec enable avdevice enable avfilter enable avformat enable avutil +enable postproc +enable stripping +enable swresample +enable swscale + enable asm enable debug enable doc enable fastdiv -enable ffmpeg -enable avconv -enable ffplay -enable ffprobe -enable ffserver enable network enable optimizations -enable postproc -enable protocols +enable safe_bitstream_reader enable static -enable stripping -enable swresample -enable swscale enable swscale_alpha # build settings @@ -1880,6 +1899,20 @@ INDEV_LIST=$(find_things indev _IN libavdevice/alldevices.c) PROTOCOL_LIST=$(find_things protocol PROTOCOL libavformat/allformats.c) FILTER_LIST=$(find_things filter FILTER libavfilter/allfilters.c) +ALL_COMPONENTS=" + $BSF_LIST + $DECODER_LIST + $DEMUXER_LIST + $ENCODER_LIST + $FILTER_LIST + $HWACCEL_LIST + $INDEV_LIST + $MUXER_LIST + $OUTDEV_LIST + $PARSER_LIST + $PROTOCOL_LIST +" + find_tests(){ map "echo ${2}\${v}_test" $(ls "$source_path"/tests/ref/$1 | grep -v '[^-a-z0-9_]') } @@ -1890,6 +1923,8 @@ LAVF_TESTS=$(find_tests lavf) LAVFI_TESTS=$(find_tests lavfi) SEEK_TESTS=$(find_tests seek seek_) +ALL_TESTS="$ACODEC_TESTS $VCODEC_TESTS $LAVF_TESTS $LAVFI_TESTS $SEEK_TESTS" + pcm_test_deps=$(map 'echo ${v%_*}_decoder $v' $(filter pcm_* $ENCODER_LIST)) for n in $COMPONENT_LIST; do @@ -1898,7 +1933,7 @@ for n in $COMPONENT_LIST; do eval ${n}_if_any="\$$v" done -enable $ARCH_EXT_LIST $ACODEC_TESTS $VCODEC_TESTS $LAVF_TESTS $LAVFI_TESTS $SEEK_TESTS +enable $ARCH_EXT_LIST $ALL_TESTS die_unknown(){ echo "Unknown option \"$1\"." @@ -2033,15 +2068,15 @@ tmpfile(){ trap 'rm -f -- $TMPFILES' EXIT -tmpfile TMPC .c -tmpfile TMPCPP .cpp -tmpfile TMPE $EXESUF -tmpfile TMPH .h -tmpfile TMPO .o -tmpfile TMPS .S -tmpfile TMPV .ver -tmpfile TMPSH .sh tmpfile TMPASM .asm +tmpfile TMPC .c +tmpfile TMPCPP .cpp +tmpfile TMPE $EXESUF +tmpfile TMPH .h +tmpfile TMPO .o +tmpfile TMPS .S +tmpfile TMPSH .sh +tmpfile TMPV .ver unset -f mktemp @@ -2060,9 +2095,9 @@ EOF die "Sanity test failed." fi +filter_asflags=echo filter_cflags=echo filter_cppflags=echo -filter_asflags=echo if $cc -v 2>&1 | grep -q '^gcc.*LLVM'; then cc_type=llvm_gcc @@ -2294,7 +2329,7 @@ fi # Deal with common $arch aliases case "$arch" in - arm*) + arm*|iPad*) arch="arm" ;; mips|mipsel|IP*) @@ -2885,8 +2920,6 @@ EOF enabled ssse3 && check_asm ssse3 '"pabsw %xmm0, %xmm0"' enabled mmx2 && check_asm mmx2 '"pmaxub %mm0, %mm1"' - check_asm bswap '"bswap %%eax" ::: "%eax"' - if ! disabled_any asm mmx yasm; then if check_cmd $yasmexe --version; then enabled x86_64 && yasm_extra="-m amd64" @@ -2976,11 +3009,15 @@ check_func ${malloc_prefix}posix_memalign && enable posix_memalign check_func setrlimit check_func strerror_r check_func strptime +check_func sched_getaffinity +check_func sysconf +check_func sysctl check_func_headers conio.h kbhit check_func_headers windows.h PeekNamedPipe check_func_headers io.h setmode check_func_headers lzo/lzo1x.h lzo1x_999_compress check_lib2 "windows.h psapi.h" GetProcessMemoryInfo -lpsapi +check_func_headers windows.h GetProcessAffinityMask check_func_headers windows.h GetProcessTimes check_func_headers windows.h MapViewOfFile check_func_headers windows.h VirtualAlloc @@ -2991,12 +3028,14 @@ check_header libcrystalhd/libcrystalhd_if.h check_header malloc.h check_header poll.h check_header sys/mman.h +check_header sys/param.h check_header sys/resource.h check_header sys/select.h check_header termios.h check_header vdpau/vdpau.h check_header vdpau/vdpau_x11.h check_header X11/extensions/XvMClib.h +check_header asm/types.h disabled zlib || check_lib zlib.h zlibVersion -lz || disable zlib disabled bzlib || check_lib2 bzlib.h BZ2_bzlibVersion -lbz2 || disable bzlib @@ -3131,10 +3170,13 @@ fi enabled sdl && add_cflags $sdl_cflags && add_extralibs $sdl_libs texi2html -version > /dev/null 2>&1 && enable texi2html || disable texi2html +makeinfo --version > /dev/null 2>&1 && enable makeinfo || disable makeinfo check_header linux/fb.h check_header linux/videodev.h check_header linux/videodev2.h +check_struct linux/videodev2.h "struct v4l2_frmivalenum" discrete + check_header sys/videoio.h check_func_headers "windows.h vfw.h" capCreateCaptureWindow "$vfwcap_indev_extralibs" @@ -3309,22 +3351,8 @@ enabled_any $THREADS_LIST && enable threads check_deps $CONFIG_LIST \ $CONFIG_EXTRA \ $HAVE_LIST \ - $DECODER_LIST \ - $ENCODER_LIST \ - $HWACCEL_LIST \ - $PARSER_LIST \ - $BSF_LIST \ - $DEMUXER_LIST \ - $MUXER_LIST \ - $FILTER_LIST \ - $INDEV_LIST \ - $OUTDEV_LIST \ - $PROTOCOL_LIST \ - $ACODEC_TESTS \ - $VCODEC_TESTS \ - $LAVF_TESTS \ - $LAVFI_TESTS \ - $SEEK_TESTS \ + $ALL_COMPONENTS \ + $ALL_TESTS \ enabled asm || { arch=c; disable $ARCH_LIST $ARCH_EXT_LIST; } @@ -3394,6 +3422,7 @@ echo "postprocessing support ${postproc-no}" echo "new filter support ${avfilter-no}" echo "network support ${network-no}" echo "threading support ${thread_type-no}" +echo "safe bitstream reader ${safe_bitstream_reader-no}" echo "SDL support ${sdl-no}" echo "Sun medialib support ${mlib-no}" echo "libdxva2 enabled ${dxva2-no}" @@ -3559,14 +3588,14 @@ get_version(){ eval echo "${lcname}_VERSION_MAJOR=\$${name}_VERSION_MAJOR" >> config.mak } -get_version LIBSWSCALE libswscale/swscale.h -get_version LIBSWRESAMPLE libswresample/swresample.h -get_version LIBPOSTPROC libpostproc/postprocess.h get_version LIBAVCODEC libavcodec/version.h get_version LIBAVDEVICE libavdevice/avdevice.h +get_version LIBAVFILTER libavfilter/avfilter.h get_version LIBAVFORMAT libavformat/version.h get_version LIBAVUTIL libavutil/avutil.h -get_version LIBAVFILTER libavfilter/avfilter.h +get_version LIBPOSTPROC libpostproc/postprocess.h +get_version LIBSWRESAMPLE libswresample/swresample.h +get_version LIBSWSCALE libswscale/swscale.h cat > $TMPH <>config.mak <