--disable-dct disable DCT code
--disable-dwt disable DWT code
--disable-lsp disable LSP code
+ --disable-lzo disable LZO decoder code
--disable-mdct disable MDCT code
--disable-rdft disable RDFT code
--disable-fft disable FFT code
done
}
-print_config_h(){
- enabled $1 && v=1 || v=0
- echo "#define $2 $v"
-}
-
-print_config_mak(){
- enabled $1 && v= || v=!
- echo "$v$2=yes"
-}
-
-print_config_asm(){
- enabled $1 && v=1 || v=0
- echo "%define $2 $v"
-}
-
print_config(){
pfx=$1
files=$2
shift 2
- for cfg; do
- ucname="$(toupper $cfg)"
- for f in $files; do
- "print_config_${f##*.}" $cfg ${pfx}${ucname} >>$f
- done
- done
+ map 'eval echo "$v \${$v:-no}"' "$@" |
+ awk "BEGIN { split(\"$files\", files) }
+ {
+ c = \"$pfx\" toupper(\$1);
+ v = \$2;
+ sub(/yes/, 1, v);
+ sub(/no/, 0, v);
+ for (f in files) {
+ file = files[f];
+ if (file ~ /\\.h\$/) {
+ printf(\"#define %s %d\\n\", c, v) >>file;
+ } else if (file ~ /\\.asm\$/) {
+ printf(\"%%define %s %d\\n\", c, v) >>file;
+ } else if (file ~ /\\.mak\$/) {
+ n = -v ? \"\" : \"!\";
+ printf(\"%s%s=yes\\n\", n, c) >>file;
+ }
+ }
+ }"
}
print_enabled(){
check_mathfunc(){
log check_mathfunc "$@"
func=$1
- shift
+ narg=$2
+ shift 2
+ test $narg = 2 && args="f, g" || args="f"
disable $func
check_ld "$@" <<EOF && enable $func
#include <math.h>
-float foo(float f) { return $func(f); }
+float foo(float f, float g) { return $func($args); }
int main(void){ return 0; }
EOF
}
libxavs
libxvid
lsp
+ lzo
mdct
memalign_hack
network
binkaudio_dct_decoder_select="mdct rdft dct sinewin"
binkaudio_rdft_decoder_select="mdct rdft sinewin"
cavs_decoder_select="golomb mpegvideo"
+comfortnoise_encoder_select="lpc"
cook_decoder_select="mdct sinewin"
+cscd_decoder_select="lzo"
cscd_decoder_suggest="zlib"
dca_decoder_select="mdct"
dnxhd_encoder_select="aandcttables mpegvideoenc"
mss2_decoder_select="vc1_decoder"
nellymoser_decoder_select="mdct sinewin"
nellymoser_encoder_select="mdct sinewin"
+nuv_decoder_select="lzo"
png_decoder_select="zlib"
png_encoder_select="zlib"
qcelp_decoder_select="lsp"
flac_demuxer_select="flac_parser"
ipod_muxer_select="mov_muxer"
matroska_audio_muxer_select="matroska_muxer"
-matroska_demuxer_suggest="zlib bzlib"
+matroska_demuxer_suggest="bzlib lzo zlib"
mov_demuxer_suggest="zlib"
mp3_demuxer_select="mpegaudio_parser"
mp4_muxer_select="mov_muxer"
mips*|IP*)
arch="mips"
;;
- parisc|hppa)
+ parisc*|hppa*)
arch="parisc"
;;
- parisc64|hppa64)
- arch="parisc"
- subarch="parisc64"
- ;;
- "Power Macintosh"|ppc|powerpc)
- arch="ppc"
- ;;
- ppc64|powerpc64)
+ "Power Macintosh"|ppc*|powerpc*)
arch="ppc"
- subarch="ppc64"
;;
s390|s390x)
arch="s390"
sh4|sh)
arch="sh4"
;;
- sun4u|sparc64)
+ sun4u|sparc*)
arch="sparc"
- subarch="sparc64"
;;
tilegx|tile-gx)
arch="tilegx"
elif enabled sparc; then
case $cpu in
- niagara)
+ cypress|f93[04]|tsc701|sparcl*|supersparc|hypersparc|niagara|v[789])
cpuflags="-mcpu=$cpu"
disable vis
;;
- sparc64)
- cpuflags="-mcpu=v9"
+ ultrasparc*|niagara[234])
+ cpuflags="-mcpu=$cpu"
;;
esac
}
case "$arch" in
- alpha|ia64|parisc|sparc)
+ alpha|ia64)
spic=$shared
;;
mips)
check_64bit mips mips64 '_MIPS_SIM > 1'
spic=$shared
;;
+ parisc)
+ check_64bit parisc parisc64 'sizeof(void *) > 4'
+ spic=$shared
+ ;;
+ ppc)
+ check_64bit ppc ppc64 'sizeof(void *) > 4'
+ ;;
+ sparc)
+ check_64bit sparc sparc64 'sizeof(void *) > 4'
+ spic=$shared
+ ;;
x86)
check_64bit x86_32 x86_64 'sizeof(void *) > 4'
if test "$subarch" = "x86_64"; then
elif enabled sparc; then
- enabled vis &&
- check_inline_asm vis '"pdist %f0, %f0, %f0"' -mcpu=ultrasparc &&
- add_cflags -mcpu=ultrasparc -mtune=ultrasparc
+ enabled vis && check_inline_asm vis '"pdist %f0, %f0, %f0"'
elif enabled x86; then
check_lib math.h sin -lm && LIBM="-lm"
enabled vaapi && require vaapi va/va.h vaInitialize -lva
+atan2f_args=2
+ldexpf_args=2
+powf_args=2
+
for func in $MATH_FUNCS; do
- check_mathfunc $func
+ eval check_mathfunc $func \${${func}_args:-1}
done
# these are off by default, so fail if requested and not available