X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;ds=sidebyside;f=configure;h=945a012acdd350698da279a58738ed8d4f64ea3c;hb=9ecabd7892ff073ae60ded3fc0a1290f5914ed5c;hp=d16bc6a9c818f1772b7b08d7b391b1a682ed1017;hpb=e6f0bb65270be51ea43345a28f8e4b1a728f7d0e;p=ffmpeg diff --git a/configure b/configure index d16bc6a9c81..945a012acdd 100755 --- a/configure +++ b/configure @@ -287,6 +287,8 @@ Developer options (useful when working on Libav itself): --enable-extra-warnings enable more compiler warnings --samples=PATH location of test samples for FATE, if not set use \$LIBAV_SAMPLES at make invocation time. + --enable-neon-clobber-test check NEON registers for clobbering (should be + used only for debugging purposes) --enable-xmm-clobber-test check XMM registers for clobbering (Win64-only; should be used only for debugging purposes) --enable-random randomly enable/disable components @@ -1174,6 +1176,7 @@ CONFIG_LIST=" lzo mdct memalign_hack + neon_clobber_test network nonfree pod2man @@ -1452,6 +1455,7 @@ CONFIG_EXTRA=" h264qpel hpeldsp huffman + intrax8 lgplv3 lpc mpegaudio @@ -1540,8 +1544,8 @@ CMDLINE_APPEND=" armv5te_deps="arm" armv6_deps="arm" armv6t2_deps="arm" -neon_deps="arm" -vfp_deps="arm" +neon_deps_any="aarch64 arm" +vfp_deps_any="aarch64 arm" vfpv3_deps="vfp" map 'eval ${v}_inline_deps=inline_asm' $ARCH_EXT_LIST_ARM @@ -1580,10 +1584,10 @@ for ext in $(filter_out mmx $ARCH_EXT_LIST_X86); do eval ${ext}_suggest='"${ext}_external ${ext}_inline"' done -aligned_stack_if_any="ppc x86" -fast_64bit_if_any="alpha ia64 mips64 parisc64 ppc64 sparc64 x86_64" -fast_clz_if_any="alpha avr32 mips ppc x86" -fast_unaligned_if_any="ppc x86" +aligned_stack_if_any="aarch64 ppc x86" +fast_64bit_if_any="aarch64 alpha ia64 mips64 parisc64 ppc64 sparc64 x86_64" +fast_clz_if_any="aarch64 alpha avr32 mips ppc x86" +fast_unaligned_if_any="aarch64 ppc x86" need_memalign="altivec neon sse" @@ -1761,7 +1765,7 @@ twinvq_decoder_select="mdct lsp sinewin" utvideo_decoder_select="dsputil" utvideo_encoder_select="dsputil huffman" vble_decoder_select="dsputil" -vc1_decoder_select="error_resilience h263_decoder h264chroma h264qpel" +vc1_decoder_select="error_resilience h263_decoder h264chroma h264qpel intrax8" vc1image_decoder_select="vc1_decoder" vorbis_decoder_select="mdct" vorbis_encoder_select="mdct" @@ -1781,7 +1785,7 @@ wmav2_encoder_select="mdct sinewin" wmavoice_decoder_select="lsp rdft dct mdct sinewin" wmv1_decoder_select="h263_decoder" wmv1_encoder_select="h263_encoder" -wmv2_decoder_select="h263_decoder videodsp" +wmv2_decoder_select="h263_decoder intrax8 videodsp" wmv2_encoder_select="h263_encoder" wmv3_decoder_select="vc1_decoder" wmv3image_decoder_select="wmv3_decoder" @@ -2009,7 +2013,6 @@ interlace_filter_deps="gpl" resample_filter_deps="avresample" ocv_filter_deps="libopencv" scale_filter_deps="swscale" -yadif_filter_deps="gpl" # examples output_example_deps="avcodec avformat avutil swscale" @@ -3594,7 +3597,14 @@ od -t x1 $TMPO | grep -q '42 *49 *47 *45' && enable bigendian check_inline_asm inline_asm_labels '"1:\n"' -if enabled alpha; then +if enabled aarch64; then + # internal assembler in clang 3.3 does not support this instruction + enabled neon && check_insn neon 'ext v0.8B, v0.8B, v1.8B, #1' + enabled vfp && check_insn vfp 'fmadd d0, d0, d1, d2' + + map 'enabled_any ${v}_external ${v}_inline || disable $v' $ARCH_EXT_LIST_ARM + +elif enabled alpha; then check_cflags -mieee @@ -4059,6 +4069,17 @@ test_ldflags -Wl,-Bsymbolic && append SHFLAGS -Wl,-Bsymbolic # -wN '..@*' is more selective than -x, but not available everywhere. check_stripflags -wN \'..@*\' || check_stripflags -x || strip='true' +enabled neon_clobber_test && + check_ldflags -Wl,--wrap,avcodec_open2 \ + -Wl,--wrap,avcodec_decode_audio4 \ + -Wl,--wrap,avcodec_decode_video2 \ + -Wl,--wrap,avcodec_decode_subtitle2 \ + -Wl,--wrap,avcodec_encode_audio2 \ + -Wl,--wrap,avcodec_encode_video2 \ + -Wl,--wrap,avcodec_encode_subtitle \ + -Wl,--wrap,avresample_convert || + disable neon_clobber_test + enabled xmm_clobber_test && check_ldflags -Wl,--wrap,avcodec_open2 \ -Wl,--wrap,avcodec_decode_audio4 \ @@ -4067,6 +4088,7 @@ enabled xmm_clobber_test && -Wl,--wrap,avcodec_encode_audio2 \ -Wl,--wrap,avcodec_encode_video2 \ -Wl,--wrap,avcodec_encode_subtitle \ + -Wl,--wrap,avresample_convert \ -Wl,--wrap,sws_scale || disable xmm_clobber_test @@ -4236,6 +4258,10 @@ if enabled x86; then echo "EBX available ${ebx_available-no}" echo "EBP available ${ebp_available-no}" fi +if enabled aarch64; then + echo "NEON enabled ${neon-no}" + echo "VFP enabled ${vfp-no}" +fi if enabled arm; then echo "ARMv5TE enabled ${armv5te-no}" echo "ARMv6 enabled ${armv6-no}"