--disable-swscale-alpha disable alpha channel support in swscale
--disable-all disable building components, libraries and programs
--enable-incompatible-libav-abi enable incompatible Libav fork ABI [no]
- --enable-incompatible-fork-abi enable incompatible Libav fork ABI (deprecated) [no]
--enable-raise-major increase major version numbers in sonames [no]
Program options:
--ld=LD use linker LD [$ld_default]
--pkg-config=PKGCONF use pkg-config PKGCONF [$pkg_config_default]
--pkg-config-flags=FLAGS pass additional flags to pkgconf []
+ --ranlib=RANLIB use ranlib RANLIB [$ranlib_default]
--host-cc=HOSTCC use host C compiler HOSTCC
--host-cflags=HCFLAGS use HCFLAGS when compiling for host
--host-cppflags=HCPPFLAGS use HCPPFLAGS when compiling for host
EXAMPLE_LIST="
avio_reading_example
- avcodec_example
+ decoding_encoding_example
demuxing_decoding_example
filter_audio_example
filtering_audio_example
bzlib
crystalhd
decklink
- fontconfig
frei0r
gnutls
iconv
libfaac
libfdk_aac
libflite
+ libfontconfig
libfreetype
libgme
libgsm
$LIBRARY_LIST
$PROGRAM_LIST
$SUBSYSTEM_LIST
+ fontconfig
incompatible_libav_abi
- incompatible_fork_abi
memalign_hack
memory_poisoning
neon_clobber_test
fast_cmov
local_aligned_8
local_aligned_16
+ local_aligned_32
"
BUILTIN_LIST="
bigendian
fast_unaligned
incompatible_libav_abi
- incompatible_fork_abi
"
HEADERS_LIST="
clock_gettime
closesocket
CommandLineToArgvW
+ CoTaskMemFree
CryptGenRandom
dlopen
fcntl
$TYPES_LIST
atomics_native
dos_paths
+ dxva2_lib
libc_msvcrt
libdc1394_1
libdc1394_2
cxx
dep_cc
extra_version
+ gas
host_cc
host_cflags
host_ld
pkg_config_flags
progs_suffix
random_seed
+ ranlib
samples
strip
sysinclude
ffv1_encoder_select="rangecoder"
ffvhuff_decoder_select="huffyuv_decoder"
ffvhuff_encoder_select="huffyuv_encoder"
-fic_decoder_select="dsputil golomb"
+fic_decoder_select="golomb"
flac_decoder_select="golomb"
flac_encoder_select="dsputil golomb lpc"
flashsv_decoder_select="zlib"
nellymoser_decoder_select="mdct sinewin"
nellymoser_encoder_select="audio_frame_queue mdct sinewin"
nuv_decoder_select="dsputil lzo"
+on2avc_decoder_select="mdct"
png_decoder_select="zlib"
png_encoder_select="dsputil zlib"
prores_decoder_select="dsputil"
flac_demuxer_select="flac_parser"
hds_muxer_select="flv_muxer"
hls_muxer_select="mpegts_muxer"
+image2_alias_pix_demuxer_select="image2_demuxer"
+image2_brender_pix_demuxer_select="image2_demuxer"
ipod_muxer_select="mov_muxer"
ismv_muxer_select="mov_muxer"
libnut_demuxer_deps="libnut"
nm_default="nm -g"
objformat="elf"
pkg_config_default=pkg-config
-ranlib="ranlib"
+ranlib_default="ranlib"
strip_default="strip"
yasmexe_default="yasm"
windres_default="windres"
cxx_default="${cross_prefix}${cxx_default}"
nm_default="${cross_prefix}${nm_default}"
pkg_config_default="${cross_prefix}${pkg_config_default}"
-ranlib="${cross_prefix}${ranlib}"
+ranlib_default="${cross_prefix}${ranlib_default}"
strip_default="${cross_prefix}${strip_default}"
windres_default="${cross_prefix}${windres_default}"
;;
esac
-set_default arch cc cxx pkg_config strip sysinclude target_exec target_os yasmexe
+set_default arch cc cxx pkg_config ranlib strip sysinclude target_exec target_os yasmexe
enabled cross_compile || host_cc_default=$cc
set_default host_cc
prescott|nocona) echo -xarch=sse3 -xchip=pentium4 ;;
*-sse3) echo -xarch=sse3 ;;
core2) echo -xarch=ssse3 -xchip=core2 ;;
- corei7) echo -xarch=sse4_2 -xchip=nehalem ;;
- corei7-avx) echo -xarch=avx -xchip=sandybridge ;;
+ bonnell) echo -xarch=ssse3 ;;
+ corei7|nehalem) echo -xtarget=nehalem ;;
+ westmere) echo -xtarget=westmere ;;
+ silvermont) echo -xarch=sse4_2 ;;
+ corei7-avx|sandybridge) echo -xtarget=sandybridge ;;
+ core-avx*|ivybridge|haswell|broadwell)
+ echo -xarch=avx ;;
amdfam10|barcelona) echo -xtarget=barcelona ;;
- bdver*) echo -xarch=avx ;;
+ btver1) echo -xarch=amdsse4a ;;
+ btver2|bdver*) echo -xarch=avx ;;
athlon-4|athlon-[mx]p) echo -xarch=ssea ;;
k8|opteron|athlon64|athlon-fx)
echo -xarch=sse2a ;;
_cflags_speed='-fast'
_cflags_size='-O1'
_flags_filter=ccc_flags
- elif $_cc --vsn 2>/dev/null | grep -Eq "ARM C/C[+][+] Compiler|Component: ARM Compiler "; then
+ elif $_cc --vsn 2>/dev/null | grep -Eq "ARM (C/C\+\+ )?Compiler"; then
test -d "$sysroot" || die "No valid sysroot specified."
_type=armcc
- _ident=$($_cc --vsn | head -n1)
+ _ident=$($_cc --vsn | head -n1 | sed 's/.*: //')
armcc_conf="$PWD/armcc.conf"
$_cc --arm_linux_configure \
--arm_linux_config_file="$armcc_conf" \
disable i686
;;
# targets that do support nopl and conditional mov (cmov)
- i686|pentiumpro|pentium[23]|pentium-m|athlon|athlon-tbird|athlon-4|athlon-[mx]p|athlon64*|k8*|opteron*|athlon-fx|core2|corei7*|amdfam10|barcelona|atom|bdver*)
+ i686|pentiumpro|pentium[23]|pentium-m|athlon|athlon-tbird|athlon-4|athlon-[mx]p|athlon64*|k8*|opteron*|athlon-fx\
+ |core*|atom|bonnell|nehalem|westmere|silvermont|sandybridge|ivybridge|haswell|broadwell|amdfam10|barcelona|b[dt]ver*)
cpuflags="-march=$cpu"
enable i686
enable fast_cmov
strip="strip -d"
;;
darwin)
- gas="gas-preprocessor.pl $cc"
+ test "${as#*gas-preprocessor.pl}" != "$as" || gas="${gas:=gas-preprocessor.pl} ${as:=$cc}"
enabled ppc && add_asflags -force_cpusubtype_ALL
SHFLAGS='-dynamiclib -Wl,-single_module -Wl,-install_name,$(SHLIBDIR)/$(SLIBNAME_WITH_MAJOR),-current_version,$(LIBVERSION),-compatibility_version,$(LIBMAJOR)'
enabled x86_32 && append SHFLAGS -Wl,-read_only_relocs,suppress
exit 1;
fi
-# backward compatibility layer for incompatible_libav/fork_abi
-enabled incompatible_fork_abi && enable incompatible_libav_abi
-enabled incompatible_libav_abi && enable incompatible_fork_abi
-
die_license_disabled() {
enabled $1 || { enabled $2 && die "$2 is $1 and --enable-$1 is not specified."; }
}
elif enabled ppc; then
- enable local_aligned_8 local_aligned_16
+ enable local_aligned_8 local_aligned_16 local_aligned_32
check_inline_asm dcbzl '"dcbzl 0, %0" :: "r"(0)'
check_inline_asm ibm_asm '"add 0, 0, 0"'
check_builtin rdtsc intrin.h "__rdtsc()"
check_builtin mm_empty mmintrin.h "_mm_empty()"
- enable local_aligned_8 local_aligned_16
+ enable local_aligned_8 local_aligned_16 local_aligned_32
# check whether EBP is available on x86
# As 'i' is stored on the stack, this program will crash
check_func_headers lzo/lzo1x.h lzo1x_999_compress
check_func_headers stdlib.h getenv
+check_func_headers windows.h CoTaskMemFree -lole32
check_func_headers windows.h GetProcessAffinityMask
check_func_headers windows.h GetProcessTimes
check_func_headers windows.h GetSystemTimeAsFileTime
{ check_lib2 "dlfcn.h" dlopen -ldl; } ||
die "ERROR: LoadLibrary/dlopen not found for avisynth"; }
enabled decklink && { check_header DeckLinkAPI.h || die "ERROR: DeckLinkAPI.h header not found"; }
-enabled fontconfig && require_pkg_config fontconfig "fontconfig/fontconfig.h" FcInit
enabled frei0r && { check_header frei0r.h || die "ERROR: frei0r.h header not found"; }
enabled gnutls && require_pkg_config gnutls gnutls/gnutls.h gnutls_global_init
enabled ladspa && { check_header ladspa.h || die "ERROR: ladspa.h header not found"; }
enabled libfdk_aac && require libfdk_aac fdk-aac/aacenc_lib.h aacEncOpen -lfdk-aac
flite_libs="-lflite_cmu_time_awb -lflite_cmu_us_awb -lflite_cmu_us_kal -lflite_cmu_us_kal16 -lflite_cmu_us_rms -lflite_cmu_us_slt -lflite_usenglish -lflite_cmulex -lflite"
enabled libflite && require2 libflite "flite/flite.h" flite_init $flite_libs
+enabled fontconfig && enable libfontconfig
+enabled libfontconfig && require_pkg_config fontconfig "fontconfig/fontconfig.h" FcInit
enabled libfreetype && require_libfreetype
enabled libgme && require libgme gme/gme.h gme_new_emu -lgme -lstdc++
enabled libgsm && { for gsm_hdr in "gsm.h" "gsm/gsm.h"; do
# add some linker flags
check_ldflags -Wl,--warn-common
check_ldflags -Wl,-rpath-link=libpostproc:libswresample:libswscale:libavfilter:libavdevice:libavformat:libavcodec:libavutil:libavresample
-enabled rpath && add_ldflags -Wl,-rpath=$libdir
+enabled rpath && add_ldflags -Wl,-rpath,$libdir
test_ldflags -Wl,-Bsymbolic && append SHFLAGS -Wl,-Bsymbolic
# add some strip flags
add_cflags -Wno-missing-variable-declarations
add_cflags -Wno-empty-statement
elif enabled armcc; then
+ add_cflags -W${armcc_opt},--diag_suppress=4343 # hardfp compat
+ add_cflags -W${armcc_opt},--diag_suppress=3036 # using . as system include dir
# 2523: use of inline assembler is deprecated
add_cflags -W${armcc_opt},--diag_suppress=2523
add_cflags -W${armcc_opt},--diag_suppress=1207
disable posix_memalign
fi
+enabled_all dxva2 CoTaskMemFree &&
+ prepend ffmpeg_libs $($ldflags_filter "-lole32") &&
+ enable dxva2_lib
+
! enabled_any memalign posix_memalign aligned_malloc &&
enabled_any $need_memalign && enable memalign_hack