--disable-neon disable NEON optimizations
--disable-inline-asm disable use of inline assembly
--disable-yasm disable use of nasm/yasm assembly
- --disable-mips32r2 disable MIPS32R2 optimizations
--disable-mipsdspr1 disable MIPS DSP ASE R1 optimizations
--disable-mipsdspr2 disable MIPS DSP ASE R2 optimizations
--disable-mipsfpu disable floating point MIPS optimizations
mdct
pixelutils
network
- qsv
rdft
"
TOOLCHAIN_FEATURES="
as_dn_directive
as_func
+ as_object_arch
asm_mod_q
attribute_may_alias
attribute_packed
nettle
pixblockdsp
qpeldsp
+ qsv
rangecoder
riffdec
riffenc
map 'eval ${v}_inline_deps=inline_asm' $ARCH_EXT_LIST_ARM
mipsfpu_deps="mips"
-mips32r2_deps="mips"
mipsdspr1_deps="mips"
mipsdspr2_deps="mips"
svq3_decoder_select="h264_decoder hpeldsp tpeldsp"
svq3_decoder_suggest="zlib"
tak_decoder_select="audiodsp"
+tdsc_decoder_select="zlib mjpeg_decoder"
theora_decoder_select="vp3_decoder"
thp_decoder_select="mjpeg_decoder"
tiff_decoder_suggest="zlib lzma"
drawtext_filter_deps="libfreetype"
ebur128_filter_deps="gpl"
eq_filter_deps="gpl"
+fftfilt_filter_deps="avcodec"
+fftfilt_filter_select="rdft"
flite_filter_deps="libflite"
frei0r_filter_deps="frei0r dlopen"
frei0r_src_filter_deps="frei0r dlopen"
echo "# $0 $FFMPEG_CONFIGURATION" > $logfile
set >> $logfile
-test -n "$cross_prefix" && enable cross_compile
-
-if enabled cross_compile; then
- test -n "$arch" && test -n "$target_os" ||
- die "Must specify target arch and OS when cross-compiling"
-fi
-
test -n "$valgrind" && toolchain="valgrind-memcheck"
case "$toolchain" in
;;
esac
+test -n "$cross_prefix" && enable cross_compile
+
+if enabled cross_compile; then
+ test -n "$arch" && test -n "$target_os" ||
+ die "Must specify target arch and OS when cross-compiling"
+fi
+
ar_default="${cross_prefix}${ar_default}"
cc_default="${cross_prefix}${cc_default}"
cxx_default="${cross_prefix}${cxx_default}"
_flags='-nologo'
_cflags='-D_USE_MATH_DEFINES -D_CRT_SECURE_NO_WARNINGS -Dinline=__inline -FIstdlib.h -Dstrtoll=_strtoi64'
if [ $pfx = hostcc ]; then
- append _cflags -Dsnprintf=_snprintf
+ if [ -z "$cl_major_ver" ] || [ $cl_major_ver -le 18 ]; then
+ append _cflags -Dsnprintf=_snprintf
+ fi
fi
disable stripping
elif $_cc --version 2>/dev/null | grep -q ^cparser; then
elif check_arm_arch 6T2; then echo armv6t2;
elif check_arm_arch 7; then echo armv7;
elif check_arm_arch 7A 7_A; then echo armv7-a;
+ elif check_arm_arch 7S; then echo armv7-a;
elif check_arm_arch 7R 7_R; then echo armv7-r;
elif check_arm_arch 7M 7_M; then echo armv7-m;
elif check_arm_arch 7EM 7E_M; then echo armv7-m;
SHFLAGS='-shared -Wl,-h,$$(@F)'
enabled x86 && SHFLAGS="-mimpure-text $SHFLAGS"
network_extralibs="-lsocket -lnsl"
+ add_cppflags -D__EXTENSIONS__
# When using suncc to build, the Solaris linker will mark
# an executable with each instruction set encountered by
# the Solaris assembler. As our libraries contain their own
add_compat strtod.o strtod=avpriv_strtod
;;
msvcrt)
- add_compat strtod.o strtod=avpriv_strtod
- add_compat msvcrt/snprintf.o snprintf=avpriv_snprintf \
- _snprintf=avpriv_snprintf \
- vsnprintf=avpriv_vsnprintf
+ if [ -z "$cl_major_ver" ] || [ $cl_major_ver -le 18 ]; then
+ add_compat strtod.o strtod=avpriv_strtod
+ add_compat msvcrt/snprintf.o snprintf=avpriv_snprintf \
+ _snprintf=avpriv_snprintf \
+ vsnprintf=avpriv_vsnprintf
+ fi
;;
esac
check_as <<EOF && enable as_dn_directive
ra .dn d0.i16
.unreq ra
+EOF
+
+ # llvm's integrated assembler supports .object_arch from llvm 3.5
+ [ "$objformat" = elf ] && check_as <<EOF && enable as_object_arch
+.object_arch armv4
EOF
[ $target_os != win32 ] && enabled_all armv6t2 shared !pic && enable_weak_pic
elif enabled mips; then
check_inline_asm loongson '"dmult.g $1, $2, $3"'
- enabled mips32r2 && add_cflags "-mips32r2" && add_asflags "-mips32r2" &&
- check_inline_asm mips32r2 '"rotr $t0, $t1, 1"'
+
+ # Enable minimum ISA based on selected options
+ if enabled mips64 && (enabled mipsdspr1 || enabled mipsdspr2); then
+ add_cflags "-mips64r2"
+ add_asflags "-mips64r2"
+ elif enabled mips64 && enabled mipsfpu; then
+ add_cflags "-mips64"
+ add_asflags "-mips64"
+ elif enabled mipsfpu || enabled mipsdspr1 || enabled mipsdspr2; then
+ add_cflags "-mips32r2"
+ add_asflags "-mips32r2"
+ fi
+
enabled mipsdspr1 && add_cflags "-mdsp" && add_asflags "-mdsp" &&
check_inline_asm mipsdspr1 '"addu.qb $t0, $t1, $t2"'
enabled mipsdspr2 && add_cflags "-mdspr2" && add_asflags "-mdspr2" &&
# 10006: ignoring unknown option -fno-signed-zeros
# 10148: ignoring unknown option -Wno-parentheses
# 10156: ignoring option '-W'; no argument required
- check_cflags -wd144,167,188,556,1292,1419,10006,10148,10156
+ # 13200: No EMMS instruction before call to function
+ # 13203: No EMMS instruction before return from function
+ check_cflags -wd144,167,188,556,1292,1419,10006,10148,10156,13200,13203
# 11030: Warning unknown option --as-needed
# 10156: ignoring option '-export'; no argument required
check_ldflags -wd10156,11030
check_cflags -Werror=return-type
check_cflags -Werror=vla
check_cflags -Wformat
+ check_cflags -fdiagnostics-color=auto
enabled extra_warnings || check_disable_warning -Wno-maybe-uninitialized
elif enabled llvm_gcc; then
check_cflags -mllvm -stack-alignment=16
enabled atempo_filter && prepend avfilter_deps "avcodec"
enabled ebur128_filter && enabled swresample && prepend avfilter_deps "swresample"
enabled elbg_filter && prepend avfilter_deps "avcodec"
+enabled fftfilt_filter && prepend avfilter_deps "avcodec"
enabled mcdeint_filter && prepend avfilter_deps "avcodec"
enabled movie_filter && prepend avfilter_deps "avformat avcodec"
enabled pan_filter && prepend avfilter_deps "swresample"
fi
if enabled mips; then
echo "MIPS FPU enabled ${mipsfpu-no}"
- echo "MIPS32R2 enabled ${mips32r2-no}"
echo "MIPS DSP R1 enabled ${mipsdspr1-no}"
echo "MIPS DSP R2 enabled ${mipsdspr2-no}"
fi