X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=configure;h=ad33c794115f7d064f51d48548aa41372ed34ff9;hb=277a28e8fc39cdc8bc69ed11532205f6f92a66ad;hp=0c0a72435e88e0e21ce0e5aaa340095696cfca8c;hpb=a9ddb5b1a4f190aba32917b85d1709cddc9100b4;p=ffmpeg diff --git a/configure b/configure index 0c0a72435e8..ad33c794115 100755 --- a/configure +++ b/configure @@ -75,6 +75,7 @@ show_help(){ echo " --enable-shared build shared libraries [no]" echo " --enable-gpl allow use of GPL code, the resulting libs" echo " and binaries will be under GPL [no]" + echo " --enable-version3 upgrade (L)GPL to version 3 [no]" echo " --enable-nonfree allow use of nonfree code, the resulting libs" echo " and binaries will be unredistributable [no]" echo " --disable-ffmpeg disable ffmpeg build" @@ -100,6 +101,7 @@ show_help(){ echo " --disable-golomb disable Golomb code" echo " --disable-mdct disable MDCT code" echo " --disable-rdft disable RDFT code" + echo " --enable-runtime-cpudetect detect cpu capabilities at runtime (bigger binary)" echo " --enable-hardcoded-tables use hardcoded tables instead of runtime generation" echo " --enable-memalign-hack emulate memalign, interferes with memory debuggers" echo " --enable-beos-netserver enable BeOS netserver" @@ -109,6 +111,9 @@ show_help(){ echo " --disable-decoder=NAME disable decoder NAME" echo " --enable-decoder=NAME enable decoder NAME" echo " --disable-decoders disable all decoders" + echo " --disable-hwaccel=NAME disable hwaccel NAME" + echo " --enable-hwaccel=NAME enable hwaccel NAME" + echo " --disable-hwaccels disable all hwaccels" echo " --disable-muxer=NAME disable muxer NAME" echo " --enable-muxer=NAME enable muxer NAME" echo " --disable-muxers disable all muxers" @@ -132,6 +137,7 @@ show_help(){ echo " --disable-filters disable all filters" echo " --list-decoders show all available decoders" echo " --list-encoders show all available encoders" + echo " --list-hwaccels show all available hardware accelerators" echo " --list-muxers show all available muxers" echo " --list-demuxers show all available demuxers" echo " --list-parsers show all available parsers" @@ -146,6 +152,8 @@ show_help(){ echo " --enable-bzlib enable bzlib [autodetect]" echo " --enable-libamr-nb enable libamr-nb floating point audio codec [no]" echo " --enable-libamr-wb enable libamr-wb floating point audio codec [no]" + echo " --enable-libopencore-amrnb enable AMR-NB de/encoding via libopencore-amrnb [no]" + echo " --enable-libopencore-amrwb enable AMR-WB decoding via libopencore-amrwb [no]" echo " --enable-libdc1394 enable IIDC-1394 grabbing using libdc1394" echo " and libraw1394 [no]" echo " --enable-libdirac enable Dirac support via libdirac [no]" @@ -241,6 +249,7 @@ echolog(){ die(){ echolog "$@" cat < $logfile +echo "# $0 $FFMPEG_CONFIGURATION" > $logfile set >> $logfile test -n "$cross_prefix" && enable cross_compile @@ -1472,6 +1513,7 @@ case "$arch" in ;; mips64) arch="mips" + subarch="mips64" enable fast_64bit ;; parisc|hppa) @@ -1487,6 +1529,7 @@ case "$arch" in ;; ppc64) arch="ppc" + subarch="ppc64" enable fast_64bit enable fast_unaligned ;; @@ -1607,9 +1650,10 @@ case $target_os in SLIB_INSTALL_EXTRA_CMD='-install -m 644 $(SUBDIR)$(SLIBNAME_WITH_MAJOR:$(SLIBSUF)=.lib) "$(SHLIBDIR)/$(SLIBNAME:$(SLIBSUF)=.lib)"; \ install -m 644 $(SUBDIR)$(SLIBNAME_WITH_MAJOR:$(SLIBSUF)=.lib) "$(SHLIBDIR)/$(SLIBNAME_WITH_MAJOR:$(SLIBSUF)=.lib)"' SLIB_UNINSTALL_EXTRA_CMD='rm -f "$(SHLIBDIR)/$(SLIBNAME:$(SLIBSUF)=.lib)"' - SHFLAGS='-shared -Wl,--output-def,$$(@:$(SLIBSUF)=.def) -Wl,--enable-runtime-pseudo-reloc -Wl,--enable-auto-image-base' + SHFLAGS='-shared -Wl,--output-def,$$(@:$(SLIBSUF)=.def) -Wl,--out-implib,$(SUBDIR)lib$(SLIBNAME:$(SLIBSUF)=.dll.a) -Wl,--enable-runtime-pseudo-reloc -Wl,--enable-auto-image-base' objformat="win32" enable dos_paths + check_cflags -fno-common if ! enabled x86_64; then check_cpp_condition _mingw.h "(__MINGW32_MAJOR_VERSION > 3) || (__MINGW32_MAJOR_VERSION == 3 && __MINGW32_MINOR_VERSION >= 15)" || die "ERROR: MinGW runtime version must be >= 3.15." @@ -1628,6 +1672,7 @@ case $target_os in SHFLAGS='-shared -Wl,--enable-auto-image-base' objformat="win32" enable dos_paths + check_cflags -fno-common ;; *-dos|freedos|opendos) disable ffplay ffserver @@ -1666,6 +1711,10 @@ case $target_os in SLIB_UNINSTALL_EXTRA_CMD='rm -f "$(LIBDIR)"/$(LIBPREF)$(NAME)_dll.a "$(LIBDIR)"/$(LIBPREF)$(NAME)_dll.lib' enable dos_paths ;; + gnu/kfreebsd) + ;; + gnu) + ;; *) die "Unknown OS '$target_os'." @@ -1708,22 +1757,24 @@ EOF fi -if ! enabled gpl; then - die_gpl_disabled(){ - name=$1 - shift - enabled_any $@ && die "$name is under GPL and --enable-gpl is not specified." - } - die_gpl_disabled "The Postprocessing code" postproc - die_gpl_disabled "libx264" libx264 - die_gpl_disabled "libxvidcore" libxvid - die_gpl_disabled "FAAD2" libfaad2 - die_gpl_disabled "The X11 grabber" x11grab -fi +die_license_disabled() { + enabled $1 || { enabled $2 && die "$2 is $1 and --enable-$1 is not specified."; } +} -if ! enabled nonfree && enabled_any libamr_nb libamr_wb; then - die "libamr is nonfree and --enable-nonfree is not specified." -fi +die_license_disabled gpl libfaad2 +die_license_disabled gpl libx264 +die_license_disabled gpl libxvid +die_license_disabled gpl postproc +die_license_disabled gpl x11grab + +die_license_disabled nonfree libamr_nb +die_license_disabled nonfree libamr_wb +die_license_disabled nonfree libfaac + +die_license_disabled version3 libopencore_amrnb +die_license_disabled version3 libopencore_amrwb + +enabled version3 && { enabled gpl && enable gplv3 || enable lgplv3; } check_deps $ARCH_EXT_LIST @@ -1776,12 +1827,11 @@ if test $cpu != "generic"; then G5|g5|970|ppc970|PowerPC970|power4*|Power4*) add_cflags -mcpu=970 -mpowerpc-gfxopt -mpowerpc64 warn_altivec disabled PPC970 - enable ppc64 ;; Cell|CELL|cell) add_cflags -mcpu=cell warn_altivec disabled Cell - enable ppc64 + enable ldbrx ;; # targets that do NOT support conditional mov (cmov) i[345]86|pentium|pentium-mmx|k6|k6-[23]|winchip-c6|winchip2|c3) @@ -1816,6 +1866,12 @@ if test $cpu != "generic"; then ev4|ev45|ev5|ev56|pca56|ev6|ev67) enabled ccc && add_cflags -arch $cpu || add_cflags -mcpu=$cpu ;; + bf*) + add_cflags -mcpu=$cpu + ;; + mips*|[45]k*|[237]4k*|m4k|r*000|loongson2[ef]) + add_cflags -march=$cpu + ;; *) echo "WARNING: Unknown CPU \"$cpu\", ignored." ;; @@ -1879,8 +1935,11 @@ fi # check for assembler specific support +enabled mips && check_asm loongson '"dmult.g $1, $2, $3"' + enabled ppc && check_asm dcbzl '"dcbzl 0, 1"' enabled ppc && check_asm ppc4xx '"maclhw r10, r11, r12"' +enabled ppc && check_asm xform_asm '"lwzx 0, %y0" :: "Z"(*(int*)0)' # check for SIMD availability @@ -1947,6 +2006,7 @@ check_func memalign check_func mkstemp check_func posix_memalign check_func_headers io.h setmode +check_func_headers lzo/lzo1x.h lzo1x_999_compress check_func_headers windows.h GetProcessTimes check_func_headers windows.h VirtualAlloc @@ -1996,6 +2056,7 @@ for thread in $THREADS_LIST; do done check_lib math.h sin -lm +check_lib va/va.h vaInitialize -lva # test for C99 functions in math.h for func in llrint lrint lrintf round roundf truncf; do @@ -2007,7 +2068,7 @@ done # these are off by default, so fail if requested and not available enabled avisynth && require2 vfw32 "windows.h vfw.h" AVIFileInit -lvfw32 -enabled libamr_nb && require libamrnb amrnb/interf_dec.h Speech_Decode_Frame_init -lamrnb -lm +enabled libamr_nb && require libamrnb amrnb/interf_dec.h Decoder_Interface_init -lamrnb -lm enabled libamr_wb && require libamrwb amrwb/dec_if.h D_IF_init -lamrwb -lm enabled libdirac && add_cflags $(pkg-config --cflags dirac) && require libdirac libdirac_decoder/dirac_parser.h dirac_decoder_init -ldirac_decoder && @@ -2017,6 +2078,8 @@ enabled libfaad && require2 libfaad faad.h faacDecOpen -lfaad enabled libgsm && require libgsm gsm.h gsm_create -lgsm enabled libmp3lame && require libmp3lame lame/lame.h lame_init -lmp3lame -lm enabled libnut && require libnut libnut.h nut_demuxer_init -lnut +enabled libopencore_amrnb && require libopencore_amrnb opencore-amrnb/interf_dec.h Decoder_Interface_init -lopencore-amrnb -lm +enabled libopencore_amrwb && require libopencore_amrwb opencore-amrwb/dec_if.h D_IF_init -lopencore-amrwb -lm enabled libopenjpeg && require libopenjpeg openjpeg.h opj_version -lopenjpeg enabled libschroedinger && add_cflags $(pkg-config --cflags schroedinger-1.0) && require libschroedinger schroedinger/schro.h schro_init $(pkg-config --libs schroedinger-1.0) @@ -2129,6 +2192,8 @@ check_header soundcard.h check_lib2 alsa/asoundlib.h snd_pcm_htimestamp -lasound +check_lib2 jack/jack.h jack_client_open -ljack + # deal with the X11 frame grabber enabled x11grab && check_header X11/Xlib.h && @@ -2220,6 +2285,7 @@ check_asm asmalign_pot '".align 3"' enabled_any $DECODER_LIST && enable decoders enabled_any $ENCODER_LIST && enable encoders +enabled_any $HWACCEL_LIST && enable hwaccels enabled_any $BSF_LIST && enable bsfs enabled_any $DEMUXER_LIST && enable demuxers enabled_any $MUXER_LIST && enable muxers @@ -2235,6 +2301,7 @@ check_deps $CONFIG_LIST \ $HAVE_LIST \ $DECODER_LIST \ $ENCODER_LIST \ + $HWACCEL_LIST \ $PARSER_LIST \ $BSF_LIST \ $DEMUXER_LIST \ @@ -2256,6 +2323,7 @@ if test "$extra_version" != ""; then echo "version string suffix $extra_version" fi echo "big-endian ${bigendian-no}" +echo "runtime cpu detection ${runtime_cpudetect-no}" if enabled x86; then echo "yasm ${yasm-no}" echo "MMX enabled ${mmx-no}" @@ -2320,6 +2388,8 @@ echo "libfaad dlopened ${libfaadbin-no}" echo "libgsm enabled ${libgsm-no}" echo "libmp3lame enabled ${libmp3lame-no}" echo "libnut enabled ${libnut-no}" +echo "libopencore-amrnb support ${libopencore_amrnb-no}" +echo "libopencore-amrwb support ${libopencore_amrwb-no}" echo "libopenjpeg enabled ${libopenjpeg-no}" echo "libschroedinger enabled ${libschroedinger-no}" echo "libspeex enabled ${libspeex-no}" @@ -2331,7 +2401,7 @@ echo "zlib enabled ${zlib-no}" echo "bzlib enabled ${bzlib-no}" echo -for type in decoder encoder parser demuxer muxer protocol filter bsf indev outdev; do +for type in decoder encoder hwaccel parser demuxer muxer protocol filter bsf indev outdev; do echo "Enabled ${type}s:" eval list=\$$(toupper $type)_LIST for part in $list; do @@ -2340,11 +2410,15 @@ for type in decoder encoder parser demuxer muxer protocol filter bsf indev outde echo done -license="LGPL" +license="LGPL version 2.1 or later" if enabled nonfree; then - license="unredistributable" + license="nonfree and unredistributable" +elif enabled gplv3; then + license="GPL version 3 or later" +elif enabled lgplv3; then + license="LGPL version 3 or later" elif enabled gpl; then - license="GPL" + license="GPL version 2 or later" fi echo "License: $license" @@ -2366,6 +2440,9 @@ echo "INCDIR=\$(DESTDIR)$incdir" >> config.mak echo "BINDIR=\$(DESTDIR)$bindir" >> config.mak echo "DATADIR=\$(DESTDIR)$datadir" >> config.mak echo "MANDIR=\$(DESTDIR)$mandir" >> config.mak +echo "SRC_PATH=\"$source_path\"" >> config.mak +echo "SRC_PATH_BARE=$source_path" >> config.mak +echo "BUILD_ROOT=\"$PWD\"" >> config.mak echo "CC=$cc" >> config.mak echo "AS=$as" >> config.mak echo "YASM=$yasmexe" >> config.mak @@ -2455,6 +2532,7 @@ print_config CONFIG_ $TMPH config.mak $CONFIG_LIST \ $CONFIG_EXTRA \ $DECODER_LIST \ $ENCODER_LIST \ + $HWACCEL_LIST \ $PARSER_LIST \ $BSF_LIST \ $DEMUXER_LIST \ @@ -2470,9 +2548,6 @@ if enabled small; then echo "#define av_always_inline" >> $TMPH fi -echo "SRC_PATH=\"$source_path\"" >> config.mak -echo "SRC_PATH_BARE=$source_path" >> config.mak -echo "BUILD_ROOT=\"$PWD\"" >> config.mak # Apparently it's not possible to portably echo a backslash. enabled asmalign_pot && @@ -2507,6 +2582,11 @@ if enabled source_path_used; then libavutil \ libpostproc \ libswscale \ + libswscale/bfin \ + libswscale/mlib \ + libswscale/ppc \ + libswscale/sparc \ + libswscale/x86 \ tests \ tools \ "