disable buffer boundary checking in bitreaders
(faster, but may crash)
--enable-memalign-hack emulate memalign, interferes with memory debuggers
- --enable-sram allow use of on-chip SRAM
--sws-max-filter-size=N the max filter size swscale uses [$sws_max_filter_size_default]
Optimization options (experts only):
safe_bitstream_reader
shared
small
- sram
static
swscale_alpha
"
neon
vfp
vfpv3
+ setend
"
ARCH_EXT_LIST_MIPS="
intrinsics_neon_deps="neon"
vfp_deps_any="aarch64 arm"
vfpv3_deps="vfp"
+setend_deps="arm"
map 'eval ${v}_inline_deps=inline_asm' $ARCH_EXT_LIST_ARM
yasmexe_default="yasm"
windres_default="windres"
-nogas=":"
-
# OS
target_os_default=$(tolower $(uname -s))
host_os=$target_os_default
die "Sanity test failed."
fi
+armasm_flags(){
+ for flag; do
+ case $flag in
+ # Filter out MSVC cl.exe options from cflags that shouldn't
+ # be passed to gas-preprocessor
+ -M[TD]*) ;;
+ *) echo $flag ;;
+ esac
+ done
+}
+
ccc_flags(){
for flag; do
case $flag in
_cflags_size="-O2 -Munroll=c:1 $opt_common"
_cflags_noopt="-O"
_flags_filter=pgi_flags
+ elif $_cc 2>&1 | grep -q 'Microsoft.*ARM.*Assembler'; then
+ _type=armasm
+ _ident=$($_cc | head -n1)
+ # 4509: "This form of conditional instruction is deprecated"
+ _flags="-nologo -ignore 4509"
+ _flags_filter=armasm_flags
elif $_cc 2>&1 | grep -q Microsoft; then
_type=msvc
_ident=$($cc 2>&1 | head -n1)
strip="strip -d"
;;
darwin)
- 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
return 0
}
-if enabled asm; then
- enabled arm aarch64 && nogas=die
+if enabled_any arm aarch64 || enabled_all ppc altivec && enabled asm; then
+ nogas=:
+ enabled_any arm aarch64 && nogas=die
enabled_all ppc altivec && [ $target_os_default != aix ] && nogas=warn
+ as_noop=-v
+
+ case $as_type in
+ arm*) gaspp_as_type=armasm; as_noop=-h ;;
+ gcc) gaspp_as_type=gas ;;
+ *) gaspp_as_type=$as_type ;;
+ esac
+
+ [ $target_os = "darwin" ] && gaspp_as_type="apple-$gaspp_as_type"
+
+ test "${as#*gas-preprocessor.pl}" != "$as" ||
+ check_cmd gas-preprocessor.pl -arch $arch -as-type $gaspp_as_type -- ${as:=$cc} $as_noop &&
+ gas="${gas:=gas-preprocessor.pl} -arch $arch -as-type $gaspp_as_type -- ${as:=$cc}"
if ! check_gas ; then
as=${gas:=$as}
check_gas || \
- $nogas "GNU assembler not found, install gas-preprocessor"
+ $nogas "GNU assembler not found, install/update gas-preprocessor"
fi
check_as <<EOF && enable as_func
enabled neon && check_insn neon 'vadd.i16 q0, q0, q0'
enabled vfp && check_insn vfp 'fadds s0, s0, s0'
enabled vfpv3 && check_insn vfpv3 'vmov.f32 s0, #1.0'
+ enabled setend && check_insn setend 'setend be'
[ $target_os = linux ] || [ $target_os = android ] ||
map 'enabled_any ${v}_external ${v}_inline || disable $v' \
check_func mmap
check_func mprotect
# Solaris has nanosleep in -lrt, OpenSolaris no longer needs that
-check_func nanosleep || { check_func nanosleep -lrt && add_extralibs -lrt; }
+check_func_headers time.h nanosleep || { check_func_headers time.h nanosleep -lrt && add_extralibs -lrt; }
check_func sched_getaffinity
check_func setrlimit
check_struct "sys/stat.h" "struct stat" st_mtim.tv_nsec -D_BSD_SOURCE
enabled libvpx_vp9_decoder && { check_lib2 "vpx/vpx_decoder.h vpx/vp8dx.h" "vpx_codec_vp9_dx" -lvpx || disable libvpx_vp9_decoder; }
enabled libvpx_vp9_encoder && { check_lib2 "vpx/vpx_encoder.h vpx/vp8cx.h" "vpx_codec_vp9_cx VP9E_SET_SVC" -lvpx || disable libvpx_vp9_encoder; } }
enabled libwavpack && require libwavpack wavpack/wavpack.h WavpackOpenFileOutput -lwavpack
-enabled libwebp && require_pkg_config libwebp webp/encode.h WebPGetEncoderVersion
+enabled libwebp && require_pkg_config libwebp webp/encode.h WebPGetEncoderVersion &&
+ { check_code cc webp/encode.h "WebPPicture wp; wp.use_argb++" ||
+ die "ERROR: libwebp too old."; }
enabled libx264 && require libx264 x264.h x264_encoder_encode -lx264 &&
{ check_cpp_condition x264.h "X264_BUILD >= 118" ||
die "ERROR: libx264 must be installed and version must be >= 0.118."; }