X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=configure;h=1dc63b4ea27f023a27fdee033ac4018073afd66d;hb=189420cb561929e05f5cc4224cdca83740a24a32;hp=c00f7f5a8ec52e7b3eb1224759490a53a68acff3;hpb=fb2eeebf662ef3f3b0600da8471b3ff120afb652;p=ffmpeg diff --git a/configure b/configure index c00f7f5a8ec..1dc63b4ea27 100755 --- a/configure +++ b/configure @@ -239,7 +239,7 @@ External library support: --enable-libschroedinger enable Dirac de/encoding via libschroedinger [no] --enable-libshine enable fixed-point MP3 encoding via libshine [no] --enable-libsmbclient enable Samba protocol via libsmbclient [no] - --enable-libsnappy enable Snappy compression [no] + --enable-libsnappy enable Snappy compression, needed for hap encoding [no] --enable-libsoxr enable Include libsoxr resampling [no] --enable-libspeex enable Speex de/encoding via libspeex [no] --enable-libssh enable SFTP protocol via libssh [no] @@ -322,6 +322,7 @@ Toolchain options: --extra-cxxflags=ECFLAGS add ECFLAGS to CXXFLAGS [$CXXFLAGS] --extra-ldflags=ELDFLAGS add ELDFLAGS to LDFLAGS [$LDFLAGS] --extra-ldexeflags=ELDFLAGS add ELDFLAGS to LDEXEFLAGS [$LDEXEFLAGS] + --extra-ldlibflags=ELDFLAGS add ELDFLAGS to LDLIBFLAGS [$LDLIBFLAGS] --extra-libs=ELIBS add ELIBS [$ELIBS] --extra-version=STRING version string suffix [] --optflags=OPTFLAGS override optimization-related compiler flags @@ -374,7 +375,7 @@ Optimization options (experts only): --disable-mipsdspr2 disable MIPS DSP ASE R2 optimizations --disable-msa disable MSA optimizations --disable-mipsfpu disable floating point MIPS optimizations - --disable-loongson3 disable Loongson-3 SIMD optimizations + --disable-mmi disable Loongson SIMD optimizations --disable-fast-unaligned consider unaligned accesses slow Developer options (useful when working on FFmpeg itself): @@ -792,6 +793,10 @@ add_ldexeflags(){ append LDEXEFLAGS $($ldflags_filter "$@") } +add_ldlibflags(){ + append LDLIBFLAGS $($ldflags_filter "$@") +} + add_stripflags(){ append ASMSTRIPFLAGS "$@" } @@ -1591,7 +1596,9 @@ ARCH_EXT_LIST_MIPS=" " ARCH_EXT_LIST_LOONGSON=" + loongson2 loongson3 + mmi " ARCH_EXT_LIST_X86_SIMD=" @@ -1787,6 +1794,7 @@ SYSTEM_FUNCS=" pthread_cancel sched_getaffinity SetConsoleTextAttribute + SetConsoleCtrlHandler setmode setrlimit Sleep @@ -1826,6 +1834,7 @@ TYPES_LIST=" CONDITION_VARIABLE_Ptr socklen_t struct_addrinfo + struct_dcadec_exss_info_matrix_encoding struct_group_source_req struct_ip_mreq_source struct_ipv6_mreq @@ -2045,7 +2054,7 @@ mips32r2_deps="mips" mips32r5_deps="mips" mips64r6_deps="mips" msa_deps="mips" -loongson3_deps="mips" +mmi_deps="mips" altivec_deps="ppc" dcbzl_deps="ppc" @@ -2124,6 +2133,7 @@ qsvenc_select="qsv" # decoders / encoders aac_decoder_select="imdct15 mdct sinewin" +aac_fixed_decoder_select="mdct sinewin" aac_encoder_select="audio_frame_queue iirfilter mdct sinewin" aac_latm_decoder_select="aac_decoder aac_latm_parser" ac3_decoder_select="ac3_parser ac3dsp bswapdsp fmtconvert mdct" @@ -2205,6 +2215,8 @@ hap_decoder_select="snappy texturedsp" hap_encoder_deps="libsnappy" hap_encoder_select="texturedspenc" hevc_decoder_select="bswapdsp cabac golomb videodsp" +hevc_qsv_encoder_deps="libmfx" +hevc_qsv_encoder_select="qsvenc" huffyuv_decoder_select="bswapdsp huffyuvdsp llviddsp" huffyuv_encoder_select="bswapdsp huffman huffyuvencdsp llviddsp" iac_decoder_select="imc_decoder" @@ -2244,6 +2256,8 @@ mpeg1video_decoder_select="error_resilience mpeg_er mpegvideo" mpeg1video_encoder_select="aandcttables mpegvideoenc h263dsp" mpeg2video_decoder_select="error_resilience mpeg_er mpegvideo" mpeg2video_encoder_select="aandcttables mpegvideoenc h263dsp" +mpeg2_qsv_encoder_deps="libmfx" +mpeg2_qsv_encoder_select="qsvenc" mpeg4_decoder_select="h263_decoder mpeg4video_parser" mpeg4_encoder_select="h263_encoder" msmpeg4v1_decoder_select="h263_decoder" @@ -2376,7 +2390,7 @@ hevc_d3d11va_hwaccel_select="hevc_decoder" hevc_dxva2_hwaccel_deps="dxva2 DXVA_PicParams_HEVC" hevc_dxva2_hwaccel_select="hevc_decoder" hevc_vdpau_hwaccel_deps="vdpau VdpPictureInfoHEVC" -hevc_vdpau_hwaccep_select="hevc_decoder" +hevc_vdpau_hwaccel_select="hevc_decoder" mpeg_vdpau_decoder_deps="vdpau" mpeg_vdpau_decoder_select="mpeg2video_decoder" mpeg_xvmc_hwaccel_deps="xvmc" @@ -2503,6 +2517,7 @@ nvenc_hevc_encoder_deps="nvenc" # demuxers / muxers ac3_demuxer_select="ac3_parser" asf_demuxer_select="riffdec" +asf_o_demuxer_select="riffdec" asf_muxer_select="riffenc" asf_stream_muxer_select="asf_muxer" avi_demuxer_select="riffdec exif" @@ -3007,6 +3022,9 @@ for opt do --extra-ldexeflags=*) add_ldexeflags $optval ;; + --extra-ldlibflags=*) + add_ldlibflags $optval + ;; --extra-libs=*) add_extralibs $optval ;; @@ -3962,7 +3980,7 @@ elif enabled mips; then check_cflags "-mtune=i6400 -mabi=64" check_ldflags "-mabi=64" ;; - loongson3*) + loongson*) disable mipsfpu disable mips32r2 disable mips32r5 @@ -3970,14 +3988,24 @@ elif enabled mips; then disable mipsdspr1 disable mipsdspr2 disable msa - enable local_aligned_8 local_aligned_16 + enable local_aligned_8 local_aligned_16 local_aligned_32 enable simd_align_16 enable fast_64bit enable fast_clz enable fast_cmov enable fast_unaligned disable aligned_stack - cpuflags="-march=loongson3a -mhard-float" + case $cpu in + loongson3*) + cpuflags="-march=loongson3a -mhard-float" + ;; + loongson2e) + cpuflags="-march=loongson2e -mhard-float" + ;; + loongson2f) + cpuflags="-march=loongson2f -mhard-float" + ;; + esac ;; generic) disable mips32r5 @@ -4735,11 +4763,15 @@ EOF elif enabled mips; then + enabled loongson2 && check_inline_asm loongson2 '"dmult.g $8, $9, $10"' + enabled loongson3 && check_inline_asm loongson3 '"gsldxc1 $f0, 0($2, $3)"' + enabled mmi && check_inline_asm mmi '"punpcklhw $f0, $f0, $f0"' + # 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 && disabled loongson3; then + elif enabled mips64 && enabled mipsfpu && disabled loongson2 && disabled loongson3; then add_cflags "-mips64" add_asflags "-mips64" elif enabled mipsdspr1 || enabled mipsdspr2; then @@ -4764,7 +4796,6 @@ elif enabled mips; then check_inline_asm mipsfpu '"madd.d $f0, $f2, $f4, $f6"' enabled msa && check_cflags "-mmsa" && check_ldflags "-mmsa" && check_inline_asm msa '"addvi.b $w0, $w1, 1"' - enabled loongson3 && check_inline_asm loongson3 '"gsldxc1 $f0, 0($2, $3)"' enabled mips32r5 && add_asflags "-mips32r5 -mfp64" enabled mips64r6 && add_asflags "-mips64r6 -mfp64" @@ -4989,6 +5020,7 @@ check_func_headers windows.h GetSystemTimeAsFileTime check_func_headers windows.h MapViewOfFile check_func_headers windows.h PeekNamedPipe check_func_headers windows.h SetConsoleTextAttribute +check_func_headers windows.h SetConsoleCtrlHandler check_func_headers windows.h Sleep check_func_headers windows.h VirtualAlloc check_struct windows.h "CONDITION_VARIABLE" Ptr @@ -5103,7 +5135,8 @@ enabled libcelt && require libcelt celt/celt.h celt_decode -lcelt0 && { check_lib celt/celt.h celt_decoder_create_custom -lcelt0 || die "ERROR: libcelt must be installed and version must be >= 0.11.0."; } enabled libcaca && require_pkg_config caca caca.h caca_create_canvas -enabled libdcadec && require_pkg_config dcadec libdcadec/dca_context.h dcadec_context_create +enabled libdcadec && require_pkg_config dcadec libdcadec/dca_context.h dcadec_context_create && + check_struct libdcadec/dca_context.h "struct dcadec_exss_info" matrix_encoding enabled libfaac && require2 libfaac "stdint.h faac.h" faacEncGetVersion -lfaac enabled libfdk_aac && { use_pkg_config fdk-aac "fdk-aac/aacenc_lib.h" aacEncOpen || { require libfdk_aac fdk-aac/aacenc_lib.h aacEncOpen -lfdk-aac && @@ -5429,6 +5462,7 @@ check_disable_warning -Wno-pointer-sign check_ldflags -Wl,--warn-common check_ldflags -Wl,-rpath-link=libpostproc:libswresample:libswscale:libavfilter:libavdevice:libavformat:libavcodec:libavutil:libavresample enabled rpath && add_ldexeflags -Wl,-rpath,$libdir +enabled rpath && add_ldlibflags -Wl,-rpath,$libdir test_ldflags -Wl,-Bsymbolic && append SHFLAGS -Wl,-Bsymbolic # add some strip flags @@ -5776,7 +5810,7 @@ if enabled mips; then echo "MIPS DSP R1 enabled ${mipsdspr1-no}" echo "MIPS DSP R2 enabled ${mipsdspr2-no}" echo "MIPS MSA enabled ${msa-no}" - echo "LOONGSON3 enabled ${loongson3-no}" + echo "LOONGSON MMI enabled ${mmi-no}" fi if enabled ppc; then echo "AltiVec enabled ${altivec-no}" @@ -5897,6 +5931,7 @@ DEPWINDRES=$dep_cc DOXYGEN=$doxygen LDFLAGS=$LDFLAGS LDEXEFLAGS=$LDEXEFLAGS +LDLIBFLAGS=$LDLIBFLAGS SHFLAGS=$(echo $($ldflags_filter $SHFLAGS)) ASMSTRIPFLAGS=$ASMSTRIPFLAGS YASMFLAGS=$YASMFLAGS