X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=configure;h=9c6ce0ab8d5973c154acea6706a34a9118ec6c9b;hb=d8b999e2d0736751bb25edc3aa0651cdbf3cbf41;hp=8e2961c8b37674426e2a2eae7e6d25522ca1ddf6;hpb=7e75f9fe5e53707e0609691d6cc2ca8cd015f132;p=ffmpeg diff --git a/configure b/configure index 8e2961c8b37..9c6ce0ab8d5 100755 --- a/configure +++ b/configure @@ -65,7 +65,7 @@ Standard options: --disable-logging do not log configure debug information --prefix=PREFIX install in PREFIX [$prefix] --bindir=DIR install binaries in DIR [PREFIX/bin] - --datadir=DIR install data files in DIR [PREFIX/share/ffmpeg] + --datadir=DIR install data files in DIR [PREFIX/share/avconv] --libdir=DIR install libs in DIR [PREFIX/lib] --shlibdir=DIR install shared libs in DIR [PREFIX/lib] --incdir=DIR install includes in DIR [PREFIX/include] @@ -81,20 +81,20 @@ Configuration options: and binaries will be unredistributable [no] --disable-doc do not build documentation --disable-ffmpeg disable ffmpeg build - --disable-ffplay disable ffplay build - --disable-ffprobe disable ffprobe build - --disable-ffserver disable ffserver build + --disable-avconv disable avconv build + --disable-avplay disable avplay build + --disable-avprobe disable avprobe build + --disable-avserver disable avserver build --disable-avdevice disable libavdevice build --disable-avcodec disable libavcodec build --disable-avformat disable libavformat build --disable-swscale disable libswscale build - --enable-postproc enable GPLed postprocessing support [no] + --disable-postproc disable libpostproc build --disable-avfilter disable video filter support [no] --disable-pthreads disable pthreads [auto] --enable-w32threads use Win32 threads [no] --enable-x11grab enable X11 grabbing [no] --disable-network disable network support [no] - --disable-mpegaudio-hp faster (but less accurate) MPEG audio decoding [no] --enable-gray enable full grayscale support (slower color) --disable-swscale-alpha disable alpha channel support in swscale --disable-fastdiv disable table-based division @@ -107,8 +107,8 @@ Configuration options: --disable-lpc disable LPC code --disable-mdct disable MDCT code --disable-rdft disable RDFT code - --disable-vaapi disable VAAPI code - --disable-vdpau disable VDPAU code + --enable-vaapi enable VAAPI code + --enable-vdpau enable VDPAU code --disable-dxva2 disable DXVA2 code --enable-runtime-cpudetect detect cpu capabilities at runtime (bigger binary) --enable-hardcoded-tables use hardcoded tables instead of runtime generation @@ -169,6 +169,7 @@ External library support: and libraw1394 [no] --enable-libdirac enable Dirac support via libdirac [no] --enable-libfaac enable FAAC support via libfaac [no] + --enable-libfreetype enable libfreetype [no] --enable-libgsm enable GSM support via libgsm [no] --enable-libmp3lame enable MP3 encoding via libmp3lame [no] --enable-libnut enable NUT (de)muxing via libnut, @@ -178,6 +179,8 @@ External library support: --enable-libschroedinger enable Dirac support via libschroedinger [no] --enable-libspeex enable Speex decoding via libspeex [no] --enable-libtheora enable Theora encoding via libtheora [no] + --enable-libvo-aacenc enable AAC encoding via libvo-aacenc [no] + --enable-libvo-amrwbenc enable AMR-WB encoding via libvo-amrwbenc [no] --enable-libvorbis enable Vorbis encoding via libvorbis, native implementation exists [no] --enable-libvpx enable VP8 support via libvpx [no] @@ -189,7 +192,6 @@ External library support: --enable-zlib enable zlib [autodetect] Advanced options (experts only): - --source-path=PATH path to source code [$source_path] --cross-prefix=PREFIX use PREFIX for compilation tools [$cross_prefix] --enable-cross-compile assume a cross-compiler is used --sysroot=PATH root of cross-build tree @@ -236,13 +238,13 @@ Advanced options (experts only): --malloc-prefix=PFX prefix malloc and related names with PFX --enable-sram allow use of on-chip SRAM --disable-symver disable symbol versioning + --optflags override optimization-related compiler flags Developer options (useful when working on Libav itself): --disable-debug disable debugging symbols --enable-debug=LEVEL set the debug level [$debuglevel] --disable-optimizations disable compiler optimizations --enable-extra-warnings enable more compiler warnings - --disable-stripping disable stripping of executables and shared libraries --samples=PATH location of test samples for FATE, if not set use \$FATE_SAMPLES at make invocation time. @@ -874,9 +876,9 @@ apply(){ } cp_if_changed(){ - cmp -s "$1" "$2" && - echo "$2 is unchanged" || - cp -f "$1" "$2" + cmp -s "$1" "$2" && echo "$2 is unchanged" && return + mkdir -p "$(dirname $2)" + cp -f "$1" "$2" } # CONFIG_LIST contains configurable options, while HAVE_LIST is for @@ -912,9 +914,10 @@ CONFIG_LIST=" dxva2 fastdiv ffmpeg - ffplay - ffprobe - ffserver + avconv + avplay + avprobe + avserver fft frei0r golomb @@ -927,6 +930,7 @@ CONFIG_LIST=" libdc1394 libdirac libfaac + libfreetype libgsm libmp3lame libnut @@ -938,6 +942,8 @@ CONFIG_LIST=" libschroedinger libspeex libtheora + libvo_aacenc + libvo_amrwbenc libvorbis libvpx libx264 @@ -948,7 +954,7 @@ CONFIG_LIST=" mdct memalign_hack mlib - mpegaudio_hp + mpegaudiodsp network nonfree pic @@ -963,6 +969,7 @@ CONFIG_LIST=" static swscale swscale_alpha + thumb vaapi vdpau version3 @@ -1016,6 +1023,7 @@ ARCH_EXT_LIST=' ppc4xx sse ssse3 + vfpv3 vis ' @@ -1066,7 +1074,6 @@ HAVE_LIST=" inet_aton inline_asm isatty - kbhit ldbrx libdc1394_1 libdc1394_2 @@ -1074,6 +1081,7 @@ HAVE_LIST=" llrintf local_aligned_16 local_aligned_8 + localtime_r log2 log2f loongson @@ -1087,18 +1095,19 @@ HAVE_LIST=" memalign mkstemp mmap - pld posix_memalign round roundf sdl sdl_video_size setmode + sndio_h socklen_t soundcard_h poll_h setrlimit strerror_r + strptime strtok_r struct_addrinfo struct_ipv6_mreq @@ -1113,8 +1122,8 @@ HAVE_LIST=" sys_select_h sys_soundcard_h sys_videoio_h - ten_operands threads + trunc truncf vfp_args VirtualAlloc @@ -1141,7 +1150,6 @@ CMDLINE_SELECT=" extra_warnings logging optimizations - stripping symver yasm " @@ -1176,10 +1184,9 @@ CMDLINE_SET=" logfile malloc_prefix nm + optflags pkg_config samples - source_path - strip sysinclude sysroot target_exec @@ -1201,6 +1208,7 @@ armv6t2_deps="arm" armvfp_deps="arm" iwmmxt_deps="arm" neon_deps="arm" +vfpv3_deps="armvfp" mmi_deps="mips" @@ -1232,21 +1240,22 @@ symver_if_any="symver_asm_label symver_gnu_asm" dct_select="rdft" mdct_select="fft" rdft_select="fft" +mpegaudiodsp_select="dct" # decoders / encoders / hardware accelerators -aac_decoder_select="mdct rdft sinewin" +aac_decoder_select="mdct sinewin" aac_encoder_select="mdct sinewin" aac_latm_decoder_select="aac_decoder aac_latm_parser" -ac3_decoder_select="mdct ac3_parser" +ac3_decoder_select="mdct ac3dsp ac3_parser" ac3_encoder_select="mdct ac3dsp" -ac3_fixed_encoder_select="ac3dsp" +ac3_fixed_encoder_select="mdct ac3dsp" alac_encoder_select="lpc" amrnb_decoder_select="lsp" amrwb_decoder_select="lsp" atrac1_decoder_select="mdct sinewin" atrac3_decoder_select="mdct" -binkaudio_dct_decoder_select="mdct rdft dct" -binkaudio_rdft_decoder_select="mdct rdft" +binkaudio_dct_decoder_select="mdct rdft dct sinewin" +binkaudio_rdft_decoder_select="mdct rdft sinewin" cavs_decoder_select="golomb" cook_decoder_select="mdct sinewin" cscd_decoder_suggest="zlib" @@ -1254,6 +1263,7 @@ dca_decoder_select="mdct" dnxhd_encoder_select="aandct" dxa_decoder_select="zlib" eac3_decoder_select="ac3_decoder" +eac3_encoder_select="mdct ac3dsp" eamad_decoder_select="aandct" eatgq_decoder_select="aandct" eatqi_decoder_select="aandct" @@ -1262,6 +1272,7 @@ flac_decoder_select="golomb" flac_encoder_select="golomb lpc" flashsv_decoder_select="zlib" flashsv_encoder_select="zlib" +flashsv2_decoder_select="zlib" flv_decoder_select="h263_decoder" flv_encoder_select="h263_encoder" fraps_decoder_select="huffman" @@ -1276,18 +1287,23 @@ h264_dxva2_hwaccel_deps="dxva2api_h" h264_dxva2_hwaccel_select="dxva2 h264_decoder" h264_vaapi_hwaccel_select="vaapi" h264_vdpau_decoder_select="vdpau h264_decoder" -imc_decoder_select="fft mdct" +imc_decoder_select="fft mdct sinewin" jpegls_decoder_select="golomb" jpegls_encoder_select="golomb" ljpeg_encoder_select="aandct" loco_decoder_select="golomb" mjpeg_encoder_select="aandct" mlp_decoder_select="mlp_parser" -mp1float_decoder_select="dct" -mp2float_decoder_select="dct" -mp3adufloat_decoder_select="dct" -mp3float_decoder_select="dct" -mp3on4float_decoder_select="dct" +mp1_decoder_select="mpegaudiodsp" +mp2_decoder_select="mpegaudiodsp" +mp3adu_decoder_select="mpegaudiodsp" +mp3_decoder_select="mpegaudiodsp" +mp3on4_decoder_select="mpegaudiodsp" +mp1float_decoder_select="mpegaudiodsp" +mp2float_decoder_select="mpegaudiodsp" +mp3adufloat_decoder_select="mpegaudiodsp" +mp3float_decoder_select="mpegaudiodsp" +mp3on4float_decoder_select="mpegaudiodsp" mpeg1video_encoder_select="aandct" mpeg2video_encoder_select="aandct" mpeg4_decoder_select="h263_decoder mpeg4video_parser" @@ -1312,7 +1328,7 @@ nellymoser_encoder_select="mdct sinewin" png_decoder_select="zlib" png_encoder_select="zlib" qcelp_decoder_select="lsp" -qdm2_decoder_select="mdct rdft" +qdm2_decoder_select="mdct rdft mpegaudiodsp" ra_144_encoder_select="lpc" rv10_decoder_select="h263_decoder" rv10_encoder_select="h263_encoder" @@ -1386,6 +1402,8 @@ libschroedinger_decoder_deps="libschroedinger" libschroedinger_encoder_deps="libschroedinger" libspeex_decoder_deps="libspeex" libtheora_encoder_deps="libtheora" +libvo_aacenc_encoder_deps="libvo_aacenc" +libvo_amrwbenc_encoder_deps="libvo_amrwbenc" libvorbis_encoder_deps="libvorbis" libvpx_decoder_deps="libvpx" libvpx_encoder_deps="libvpx" @@ -1429,10 +1447,13 @@ alsa_indev_deps="alsa_asoundlib_h snd_pcm_htimestamp" alsa_outdev_deps="alsa_asoundlib_h" bktr_indev_deps_any="dev_bktr_ioctl_bt848_h machine_ioctl_bt848_h dev_video_bktr_ioctl_bt848_h dev_ic_bt8xx_h" dv1394_indev_deps="dv1394 dv_demuxer" +fbdev_indev_deps="linux_fb_h" jack_indev_deps="jack_jack_h" libdc1394_indev_deps="libdc1394" oss_indev_deps_any="soundcard_h sys_soundcard_h" oss_outdev_deps_any="soundcard_h sys_soundcard_h" +sndio_indev_deps="sndio_h" +sndio_outdev_deps="sndio_h" v4l_indev_deps="linux_videodev_h" v4l2_indev_deps_any="linux_videodev2_h sys_videoio_h" vfwcap_indev_deps="capCreateCaptureWindow vfwcap_defines" @@ -1454,25 +1475,29 @@ udp_protocol_deps="network" # filters blackframe_filter_deps="gpl" cropdetect_filter_deps="gpl" +drawtext_filter_deps="libfreetype" frei0r_filter_deps="frei0r dlopen strtok_r" frei0r_src_filter_deps="frei0r dlopen strtok_r" hqdn3d_filter_deps="gpl" -scale_filter_deps="swscale" ocv_filter_deps="libopencv" +scale_filter_deps="swscale" yadif_filter_deps="gpl" # libraries avdevice_deps="avcodec avformat" avformat_deps="avcodec" +postproc_deps="gpl" # programs ffmpeg_deps="avcodec avformat swscale" ffmpeg_select="buffer_filter" -ffplay_deps="avcodec avformat swscale sdl" -ffplay_select="rdft" -ffprobe_deps="avcodec avformat" -ffserver_deps="avformat ffm_muxer fork rtp_protocol rtsp_demuxer" -ffserver_extralibs='$ldl' +av_deps="avcodec avformat swscale" +av_select="buffer_filter" +avplay_deps="avcodec avformat swscale sdl" +avplay_select="rdft" +avprobe_deps="avcodec avformat" +avserver_deps="avformat ffm_muxer fork rtp_protocol rtsp_demuxer" +avserver_extralibs='$ldl' doc_deps="texi2html" @@ -1491,11 +1516,6 @@ test_deps(){ done } -set_ne_test_deps(){ - eval ${1}_be_test_deps="bigendian" - eval ${1}_le_test_deps="!bigendian" -} - test_deps _encoder _decoder \ adpcm_g726=g726 \ adpcm_ima_qt \ @@ -1558,7 +1578,7 @@ test_deps _muxer _demuxer \ mmf \ mov \ pcm_mulaw=mulaw \ - mxf \ + mxf="mxf mxf_d10" \ nut \ ogg \ rawvideo=pixfmt \ @@ -1572,15 +1592,6 @@ test_deps _muxer _demuxer \ ac3_fixed_test_deps="ac3_fixed_encoder ac3_decoder rm_muxer rm_demuxer" mpg_test_deps="mpeg1system_muxer mpegps_demuxer" -set_ne_test_deps pixdesc -set_ne_test_deps pixfmts_copy -set_ne_test_deps pixfmts_crop -set_ne_test_deps pixfmts_hflip -set_ne_test_deps pixfmts_null -set_ne_test_deps pixfmts_pad -set_ne_test_deps pixfmts_scale -set_ne_test_deps pixfmts_vflip - # default parameters logfile="config.log" @@ -1588,7 +1599,7 @@ logfile="config.log" # installation paths prefix_default="/usr/local" bindir_default='${prefix}/bin' -datadir_default='${prefix}/share/ffmpeg' +datadir_default='${prefix}/share/avconv' incdir_default='${prefix}/include' libdir_default='${prefix}/lib' mandir_default='${prefix}/share/man' @@ -1604,7 +1615,6 @@ nm_default="nm" objformat="elf" pkg_config_default=pkg-config ranlib="ranlib" -strip_default="strip" yasmexe="yasm" nogas=":" @@ -1629,21 +1639,21 @@ enable debug enable doc enable fastdiv enable ffmpeg -enable ffplay -enable ffprobe -enable ffserver -enable mpegaudio_hp +enable avconv +enable avplay +enable avprobe +enable avserver enable network enable optimizations +enable postproc enable protocols enable static -enable stripping enable swscale enable swscale_alpha # build settings SHFLAGS='-shared -Wl,-soname,$$(@F)' -FFSERVERLDFLAGS=-Wl,-E +AVSERVERLDFLAGS=-Wl,-E LIBPREF="lib" LIBSUF=".a" FULLNAME='$(NAME)$(BUILDSUF)' @@ -1654,10 +1664,13 @@ SLIBNAME='$(SLIBPREF)$(FULLNAME)$(SLIBSUF)' SLIBNAME_WITH_VERSION='$(SLIBNAME).$(LIBVERSION)' SLIBNAME_WITH_MAJOR='$(SLIBNAME).$(LIBMAJOR)' LIB_INSTALL_EXTRA_CMD='$$(RANLIB) "$(LIBDIR)/$(LIBNAME)"' +SLIB_INSTALL_NAME='$(SLIBNAME_WITH_VERSION)' +SLIB_INSTALL_LINKS='$(SLIBNAME_WITH_MAJOR) $(SLIBNAME)' +AS_O='-o $@' CC_O='-o $@' -host_cflags='-D_ISOC99_SOURCE -D_POSIX_C_SOURCE=200112 -O3 -g -Wall' +host_cflags='-D_ISOC99_SOURCE -O3 -g' host_libs='-lm' target_path='$(CURDIR)' @@ -1668,13 +1681,10 @@ DEPEND_CMD='$(DEPCC) $(DEPFLAGS) $< | sed -e "/^\#.*/d" -e "s,^[[:space:]]*$(*F) DEPFLAGS='$(CPPFLAGS) $(CFLAGS) -MM' # find source path -source_path="$(dirname "$0")" -enable source_path_used if test -f configure; then - source_path="$(pwd)" - disable source_path_used + source_path=. else - source_path="$(cd "$source_path"; pwd)" + source_path=$(cd $(dirname "$0"); pwd) echo "$source_path" | grep -q '[[:blank:]]' && die "Out of tree builds are impossible with whitespace in source path." test -e "$source_path/config.h" && @@ -1814,17 +1824,21 @@ cc_default="${cross_prefix}${cc_default}" nm_default="${cross_prefix}${nm_default}" pkg_config_default="${cross_prefix}${pkg_config_default}" ranlib="${cross_prefix}${ranlib}" -strip_default="${cross_prefix}${strip_default}" sysinclude_default="${sysroot}/usr/include" -set_default cc nm pkg_config strip sysinclude +set_default cc nm pkg_config sysinclude enabled cross_compile || host_cc_default=$cc set_default host_cc +if ! $pkg_config --version >/dev/null 2>&1; then + warn "$pkg_config not found, library detection may fail." + pkg_config=false +fi + exesuf() { case $1 in - mingw32*|cygwin*|*-dos|freedos|opendos|os/2*) echo .exe ;; + mingw32*|cygwin*|*-dos|freedos|opendos|os/2*|symbian) echo .exe ;; esac } @@ -2006,6 +2020,7 @@ elif $cc -V 2>&1 | grep -q Sun; then cc_ident=$($cc -V 2>&1 | head -n1 | cut -d' ' -f 2-) DEPEND_CMD='$(DEPCC) $(DEPFLAGS) $< | sed -e "1s,^.*: ,$@: ," -e "\$$!s,\$$, \\\," -e "1!s,^.*: , ," > $(@:.o=.d)' DEPFLAGS='$(CPPFLAGS) $(CFLAGS) -xM1' + add_ldflags -xc99 speed_cflags='-O5' size_cflags='-O5 -xspace' filter_cflags=suncc_flags @@ -2050,6 +2065,7 @@ elif $cc -v 2>&1 | grep -q 'PathScale\|Path64'; then AS_DEPFLAGS='-MMD -MF $(@:.o=.d) -MT $@' speed_cflags='-O2' size_cflags='-Os' + filter_cflags='filter_out -Wdisabled-optimization' elif $cc -v 2>&1 | grep -q Open64; then cc_type=open64 cc_version=__OPEN64__ @@ -2058,6 +2074,7 @@ elif $cc -v 2>&1 | grep -q Open64; then AS_DEPFLAGS='-MMD -MF $(@:.o=.d) -MT $@' speed_cflags='-O2' size_cflags='-Os' + filter_cflags='filter_out -Wdisabled-optimization|-Wtype-limits|-fno-signed-zeros' fi test -n "$cc_type" && enable $cc_type || @@ -2094,7 +2111,7 @@ if test "$cpu" = host; then gcc|llvm_gcc) check_native(){ $cc $1=native -v -c -o $TMPO $TMPC >$TMPE 2>&1 || return - sed -n "/$1=/{ + sed -n "/cc1.*$1=/{ s/.*$1=\\([^ ]*\\).*/\\1/ p q @@ -2209,7 +2226,7 @@ elif enabled x86; then disable cmov ;; # targets that do support conditional mov (cmov) - i686|pentiumpro|pentium[23]|pentium-m|athlon|athlon-tbird|athlon-4|athlon-[mx]p|athlon64|k8|opteron|athlon-fx|core2|amdfam10|barcelona|atom) + i686|pentiumpro|pentium[23]|pentium-m|athlon|athlon-tbird|athlon-4|athlon-[mx]p|athlon64*|k8*|opteron*|athlon-fx|core2|amdfam10|barcelona|atom) cpuflags="-march=$cpu" enable cmov enable fast_cmov @@ -2246,7 +2263,7 @@ elif enabled arm; then case $cpu in cortex-a*) subarch=armv7a ;; cortex-r*) subarch=armv7r ;; - cortex-m*) subarch=armv7m ;; + cortex-m*) enable thumb; subarch=armv7m ;; arm11*) subarch=armv6 ;; arm[79]*e*|arm9[24]6*|arm96*|arm102[26]) subarch=armv5te ;; armv4*|arm7*|arm9[24]*) subarch=armv4 ;; @@ -2305,7 +2322,7 @@ if test "$?" != 0; then die "C compiler test failed." fi -add_cppflags -D_ISOC99_SOURCE -D_POSIX_C_SOURCE=200112 +add_cppflags -D_ISOC99_SOURCE check_cflags -std=c99 check_cc -D_FILE_OFFSET_BITS=64 < @@ -2315,6 +2332,7 @@ check_cc -D_LARGEFILE_SOURCE <> $(SUBDIR)$(NAME).def' SLIB_EXTRA_CMD='emximp -o $(SUBDIR)$(LIBPREF)$(NAME)_dll.a $(SUBDIR)$(NAME).def; \ emximp -o $(SUBDIR)$(LIBPREF)$(NAME)_dll.lib $(SUBDIR)$(NAME).def;' - SLIB_INSTALL_EXTRA_CMD='install -m 644 $(SUBDIR)$(LIBPREF)$(NAME)_dll.a $(SUBDIR)$(LIBPREF)$(NAME)_dll.lib "$(LIBDIR)"' - SLIB_UNINSTALL_EXTRA_CMD='rm -f "$(LIBDIR)"/$(LIBPREF)$(NAME)_dll.a "$(LIBDIR)"/$(LIBPREF)$(NAME)_dll.lib' + SLIB_INSTALL_EXTRA_LIB='$(LIBPREF)$(NAME)_dll.a $(LIBPREF)$(NAME)_dll.lib' enable dos_paths ;; gnu/kfreebsd) + add_cppflags -D_POSIX_C_SOURCE=200112 -D_XOPEN_SOURCE=600 -D_BSD_SOURCE ;; gnu) + add_cppflags -D_POSIX_C_SOURCE=200112 -D_XOPEN_SOURCE=600 ;; qnx) add_cppflags -D_QNX_SOURCE network_extralibs="-lsocket" ;; + symbian) + SLIBSUF=".dll" + enable dos_paths + add_cflags --include=$sysinclude/gcce/gcce.h -fvisibility=default + add_cppflags -D__GCCE__ -D__SYMBIAN32__ -DSYMBIAN_OE_POSIX_SIGNALS + add_ldflags -Wl,--target1-abs,--no-undefined \ + -Wl,-Ttext,0x80000,-Tdata,0x1000000 -shared \ + -Wl,--entry=_E32Startup -Wl,-u,_E32Startup + add_extralibs -l:eexe.lib -l:usrt2_2.lib -l:dfpaeabi.dso \ + -l:drtaeabi.dso -l:scppnwdl.dso -lsupc++ -lgcc \ + -l:libc.dso -l:libm.dso -l:euser.dso -l:libcrt0.lib + ;; none) ;; *) @@ -2509,8 +2540,6 @@ EOF exit 1; fi -disabled static && LIBNAME="" - die_license_disabled() { enabled $1 || { enabled $2 && die "$2 is $1 and --enable-$1 is not specified."; } } @@ -2518,13 +2547,14 @@ die_license_disabled() { die_license_disabled gpl libx264 die_license_disabled gpl libxavs die_license_disabled gpl libxvid -die_license_disabled gpl postproc die_license_disabled gpl x11grab die_license_disabled nonfree libfaac die_license_disabled version3 libopencore_amrnb die_license_disabled version3 libopencore_amrwb +die_license_disabled version3 libvo_aacenc +die_license_disabled version3 libvo_amrwbenc enabled version3 && { enabled gpl && enable gplv3 || enable lgplv3; } @@ -2575,7 +2605,7 @@ if enabled alpha; then elif enabled arm; then - check_cflags -marm + enabled thumb && check_cflags -mthumb || check_cflags -marm nogas=die if check_cpp_condition stddef.h "defined __ARM_PCS_VFP"; then @@ -2591,15 +2621,13 @@ EOF warn "Compiler does not indicate floating-point ABI, guessing $fpabi." fi - # We have to check if pld is a nop and disable it. - check_asm pld '"pld [r0]"' - enabled armv5te && check_asm armv5te '"qadd r0, r0, r0"' enabled armv6 && check_asm armv6 '"sadd16 r0, r0, r0"' enabled armv6t2 && check_asm armv6t2 '"movt r0, #0"' enabled armvfp && check_asm armvfp '"fadds s0, s0, s0"' enabled iwmmxt && check_asm iwmmxt '"wunpckelub wr6, wr4"' enabled neon && check_asm neon '"vadd.i16 q0, q0, q0"' + enabled vfpv3 && check_asm vfpv3 '"vmov.f32 s0, #1.0"' enabled_all armv6t2 shared !pic && enable_pic @@ -2669,18 +2697,6 @@ EOF # check whether xmm clobbers are supported check_asm xmm_clobbers '"":::"%xmm0"' - # check whether more than 10 operands are supported - check_cc <= 3.98.3" lame/lame.h lame_set_VBR_quality -lmp3lame enabled libnut && require libnut libnut.h nut_demuxer_init -lnut @@ -2864,6 +2878,8 @@ enabled librtmp && require_pkg_config librtmp librtmp/rtmp.h RTMP_Socket enabled libschroedinger && require_pkg_config schroedinger-1.0 schroedinger/schro.h schro_init enabled libspeex && require libspeex speex/speex.h speex_decoder_init -lspeex enabled libtheora && require libtheora theora/theoraenc.h th_info_init -ltheoraenc -ltheoradec -logg +enabled libvo_aacenc && require libvo_aacenc vo-aacenc/voAAC.h voGetAACEncAPI -lvo-aacenc +enabled libvo_amrwbenc && require libvo_amrwbenc vo-amrwbenc/enc_if.h E_IF_init -lvo-amrwbenc enabled libvorbis && require libvorbis vorbis/vorbisenc.h vorbis_info_init -lvorbisenc -lvorbis -logg enabled libvpx && { enabled libvpx_decoder && { check_lib2 "vpx/vpx_decoder.h vpx/vp8dx.h" vpx_codec_dec_init_ver -lvpx || @@ -2871,8 +2887,8 @@ enabled libvpx && { enabled libvpx_encoder && { check_lib2 "vpx/vpx_encoder.h vpx/vp8cx.h" vpx_codec_enc_init_ver -lvpx || die "ERROR: libvpx encoder version must be >=0.9.1"; } } enabled libx264 && require libx264 x264.h x264_encoder_encode -lx264 && - { check_cpp_condition x264.h "X264_BUILD >= 99" || - die "ERROR: libx264 version must be >= 0.99."; } + { check_cpp_condition x264.h "X264_BUILD >= 115" || + die "ERROR: libx264 version must be >= 0.115."; } enabled libxavs && require libxavs xavs.h xavs_encoder_encode -lxavs enabled libxvid && require libxvid xvid.h xvid_global -lxvidcore enabled mlib && require mediaLib mlib_types.h mlib_VectorSub_S16_U8_Mod -lmlib @@ -2894,6 +2910,7 @@ fi texi2html -version > /dev/null 2>&1 && enable texi2html || disable texi2html +check_header linux/fb.h check_header linux/videodev.h check_header linux/videodev2.h check_header sys/videoio.h @@ -2912,6 +2929,7 @@ check_cpp_condition vfw.h "WM_CAP_DRIVER_CONNECT > WM_USER" && enable vfwcap_def check_header dev/video/bktr/ioctl_bt848.h; } || check_header dev/ic/bt8xx.h +check_header sndio.h check_header sys/soundcard.h check_header soundcard.h @@ -2919,6 +2937,8 @@ enabled_any alsa_indev alsa_outdev && check_lib2 alsa/asoundlib.h snd_pcm_htimes enabled jack_indev && check_lib2 jack/jack.h jack_client_open -ljack +enabled_any sndio_indev sndio_outdev && check_lib2 sndio.h sio_open -lsndio + enabled x11grab && check_header X11/Xlib.h && check_header X11/extensions/XShm.h && @@ -2941,6 +2961,7 @@ check_cflags -Wdeclaration-after-statement check_cflags -Wall check_cflags -Wno-parentheses check_cflags -Wno-switch +check_cflags -Wno-format-zero-length check_cflags -Wdisabled-optimization check_cflags -Wpointer-arith check_cflags -Wredundant-decls @@ -2954,7 +2975,7 @@ enabled extra_warnings && check_cflags -Winline # add some linker flags check_ldflags -Wl,--warn-common -check_ldflags '-Wl,-rpath-link,\$(BUILD_ROOT)/libpostproc -Wl,-rpath-link,\$(BUILD_ROOT)/libswscale -Wl,-rpath-link,\$(BUILD_ROOT)/libavfilter -Wl,-rpath-link,\$(BUILD_ROOT)/libavdevice -Wl,-rpath-link,\$(BUILD_ROOT)/libavformat -Wl,-rpath-link,\$(BUILD_ROOT)/libavcodec -Wl,-rpath-link,\$(BUILD_ROOT)/libavutil' +check_ldflags -Wl,-rpath-link=libpostproc:libswscale:libavfilter:libavdevice:libavformat:libavcodec:libavutil test_ldflags -Wl,-Bsymbolic && append SHFLAGS -Wl,-Bsymbolic echo "X{};" > $TMPV @@ -2970,9 +2991,10 @@ void ff_foo(void) {} EOF fi -if enabled small; then +if [ -n "$optflags" ]; then + add_cflags $optflags +elif enabled small; then add_cflags $size_cflags - optimizations="small" elif enabled optimizations; then add_cflags $speed_cflags else @@ -3026,6 +3048,8 @@ elif enabled armcc; then add_cflags -W${armcc_opt},--diag_suppress=1207 add_cflags -W${armcc_opt},--diag_suppress=1293 # assignment in condition add_cflags -W${armcc_opt},--diag_suppress=3343 # hardfp compat + add_cflags -W${armcc_opt},--diag_suppress=167 # pointer sign + add_cflags -W${armcc_opt},--diag_suppress=513 # pointer sign elif enabled tms470; then add_cflags -pds=824 -pds=837 elif enabled pathscale; then @@ -3056,6 +3080,9 @@ check_deps $CONFIG_LIST \ enabled asm || { arch=c; disable $ARCH_LIST $ARCH_EXT_LIST; } +! enabled_any memalign posix_memalign malloc_aligned && + enabled_any $need_memalign && enable memalign_hack + echo "install prefix $prefix" echo "source path $source_path" echo "C compiler $cc" @@ -3069,18 +3096,18 @@ fi echo "big-endian ${bigendian-no}" echo "runtime cpu detection ${runtime_cpudetect-no}" if enabled x86; then - echo "yasm ${yasm-no}" + echo "${yasmexe} ${yasm-no}" echo "MMX enabled ${mmx-no}" echo "MMX2 enabled ${mmx2-no}" echo "3DNow! enabled ${amd3dnow-no}" echo "3DNow! extended enabled ${amd3dnowext-no}" echo "SSE enabled ${sse-no}" echo "SSSE3 enabled ${ssse3-no}" + echo "AVX enabled ${avx-no}" echo "CMOV enabled ${cmov-no}" echo "CMOV is fast ${fast_cmov-no}" echo "EBX available ${ebx_available-no}" echo "EBP available ${ebp_available-no}" - echo "10 operands supported ${ten_operands-no}" fi if enabled arm; then echo "ARMv5TE enabled ${armv5te-no}" @@ -3102,7 +3129,7 @@ if enabled sparc; then echo "VIS enabled ${vis-no}" fi echo "debug symbols ${debug-no}" -echo "strip symbols ${stripping-no}" +echo "optimize for size ${small-no}" echo "optimizations ${optimizations-no}" echo "static ${static-no}" echo "shared ${shared-no}" @@ -3112,6 +3139,9 @@ echo "network support ${network-no}" echo "threading support ${thread_type-no}" echo "SDL support ${sdl-no}" echo "Sun medialib support ${mlib-no}" +echo "libdxva2 enabled ${dxva2-no}" +echo "libva enabled ${vaapi-no}" +echo "libvdpau enabled ${vdpau-no}" echo "AVISynth enabled ${avisynth-no}" echo "frei0r enabled ${frei0r-no}" echo "libdc1394 support ${libdc1394-no}" @@ -3128,6 +3158,8 @@ echo "librtmp enabled ${librtmp-no}" echo "libschroedinger enabled ${libschroedinger-no}" echo "libspeex enabled ${libspeex-no}" echo "libtheora enabled ${libtheora-no}" +echo "libvo-aacenc support ${libvo_aacenc-no}" +echo "libvo-amrwbenc support ${libvo_amrwbenc-no}" echo "libvorbis enabled ${libvorbis-no}" echo "libvpx enabled ${libvpx-no}" echo "libx264 enabled ${libx264-no}" @@ -3159,51 +3191,12 @@ echo "License: $license" echo "Creating config.mak and config.h..." -# build tree in object directory if source path is different from current one -if enabled source_path_used; then - DIRS=" - doc - libavcodec - libavcodec/$arch - libavdevice - libavfilter - libavfilter/$arch - libavformat - libavutil - libavutil/$arch - libpostproc - libswscale - libswscale/$arch - tests - tools - " - FILES=" - Makefile - common.mak - subdir.mak - doc/texi2pod.pl - libavcodec/Makefile - libavcodec/${arch}/Makefile - libavdevice/Makefile - libavfilter/Makefile - libavfilter/${arch}/Makefile - libavformat/Makefile - libavutil/Makefile - libpostproc/Makefile - libswscale/Makefile - " - map 'mkdir -p $v' $DIRS; - map 'test -f "$source_path/$v" && $ln_s "$source_path/$v" $v' $FILES -fi - -enabled stripping || strip="echo skipping strip" +test -e Makefile || $ln_s "$source_path/Makefile" . config_files="$TMPH config.mak" cat > config.mak < $TMPH <> $TMPH -echo "endif # LIBAV_CONFIG_MAK" >> config.mak # Do not overwrite an unchanged config.h to avoid superfluous rebuilds. cp_if_changed $TMPH config.h @@ -3381,6 +3372,7 @@ version=$3 libs=$4 requires=$5 enabled ${name#lib} || return 0 +mkdir -p $name cat < $name/$name.pc prefix=$prefix exec_prefix=\${prefix} @@ -3413,10 +3405,10 @@ Cflags: -I\${includedir} EOF } -pkgconfig_generate libavutil "Libav utility library" "$LIBAVUTIL_VERSION" -pkgconfig_generate libavcodec "Libav codec library" "$LIBAVCODEC_VERSION" "$extralibs" +pkgconfig_generate libavutil "Libav utility library" "$LIBAVUTIL_VERSION" "$LIBM" +pkgconfig_generate libavcodec "Libav codec library" "$LIBAVCODEC_VERSION" "$extralibs" "libavutil = $LIBAVUTIL_VERSION" pkgconfig_generate libavformat "Libav container format library" "$LIBAVFORMAT_VERSION" "$extralibs" "libavcodec = $LIBAVCODEC_VERSION" pkgconfig_generate libavdevice "Libav device handling library" "$LIBAVDEVICE_VERSION" "$extralibs" "libavformat = $LIBAVFORMAT_VERSION" pkgconfig_generate libavfilter "Libav video filtering library" "$LIBAVFILTER_VERSION" "$extralibs" -pkgconfig_generate libpostproc "Libav post processing library" "$LIBPOSTPROC_VERSION" -pkgconfig_generate libswscale "Libav image rescaling library" "$LIBSWSCALE_VERSION" "" "libavutil = $LIBAVUTIL_VERSION" +pkgconfig_generate libpostproc "Libav postprocessing library" "$LIBPOSTPROC_VERSION" "" "libavutil = $LIBAVUTIL_VERSION" +pkgconfig_generate libswscale "Libav image rescaling library" "$LIBSWSCALE_VERSION" "$LIBM" "libavutil = $LIBAVUTIL_VERSION"