X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=configure;h=766f9c2f267c48a087a6605cf0c8944a7b226672;hb=b776113e5d4a56759615196de98efe802e95a6b6;hp=22b699f9ef25a4b39961e5651d697d5d23cc0910;hpb=749b1f1359b5af0a08221923b016551b18ab6171;p=ffmpeg diff --git a/configure b/configure index 22b699f9ef2..766f9c2f267 100755 --- a/configure +++ b/configure @@ -130,6 +130,7 @@ Component options: --disable-mdct disable MDCT code --disable-rdft disable RDFT code --disable-fft disable FFT code + --disable-faan disable floating point AAN (I)DCT code Hardware accelerators: --enable-dxva2 enable DXVA2 code @@ -209,10 +210,13 @@ External library support: --enable-libx264 enable H.264 encoding via x264 [no] --enable-libx265 enable HEVC encoding via x265 [no] --enable-libxavs enable AVS encoding via xavs [no] + --enable-libxcb enable X11 grabbing using XCB [no] + --enable-libxcb-shm enable X11 grabbing shm communication [auto] + --enable-libxcb-xfixes enable X11 grabbing mouse rendering [auto] --enable-libxvid enable Xvid encoding via xvidcore, native MPEG-4/Xvid encoder exists [no] --enable-openssl enable openssl [no] - --enable-x11grab enable X11 grabbing [no] + --enable-x11grab enable X11 grabbing (legacy) [no] --enable-zlib enable zlib [autodetect] Toolchain options: @@ -1066,7 +1070,7 @@ check_host_cpp(){ log check_host_cpp "$@" cat > $TMPC log_file $TMPC - check_cmd $host_cc $HOSTCPPFLAGS $HOSTCFLAGS "$@" $(hostcc_e $TMPO) $TMPC + check_cmd $host_cc $host_cppflags $host_cflags "$@" $(hostcc_e $TMPO) $TMPC } check_host_cppflags(){ @@ -1169,6 +1173,9 @@ EXTERNAL_LIBRARY_LIST=" libx264 libx265 libxavs + libxcb + libxcb_shm + libxcb_xfixes libxvid openssl x11grab @@ -1220,6 +1227,7 @@ SUBSYSTEM_LIST=" dct doc error_resilience + faan fft lsp lzo @@ -1432,6 +1440,7 @@ MATH_FUNCS=" SYSTEM_FUNCS=" aligned_malloc + clock_gettime closesocket CommandLineToArgvW CoTaskMemFree @@ -1450,6 +1459,7 @@ SYSTEM_FUNCS=" getservbyport GetSystemTimeAsFileTime gettimeofday + gmtime_r inet_aton isatty jack_port_get_latency_range @@ -1495,6 +1505,7 @@ TOOLCHAIN_FEATURES=" " TYPES_LIST=" + CONDITION_VARIABLE_Ptr socklen_t struct_addrinfo struct_group_source_req @@ -1546,6 +1557,8 @@ CONFIG_EXTRA=" bswapdsp cabac dvprofile + faandct + faanidct fdctdsp gcrypt golomb @@ -1583,6 +1596,7 @@ CONFIG_EXTRA=" tpeldsp videodsp vp3dsp + wma_freqs " CMDLINE_SELECT=" @@ -1723,6 +1737,8 @@ threads_if_any="$THREADS_LIST" # subsystems dct_select="rdft" error_resilience_select="me_cmp" +faandct_deps="faan fdctdsp" +faanidct_deps="faan idctdsp" intrax8_select="error_resilience" mdct_select="fft" rdft_select="fft" @@ -1755,8 +1771,8 @@ atrac1_decoder_select="mdct sinewin" atrac3_decoder_select="mdct" atrac3p_decoder_select="mdct sinewin" bink_decoder_select="blockdsp hpeldsp" -binkaudio_dct_decoder_select="mdct rdft dct sinewin" -binkaudio_rdft_decoder_select="mdct rdft sinewin" +binkaudio_dct_decoder_select="mdct rdft dct sinewin wma_freqs" +binkaudio_rdft_decoder_select="mdct rdft sinewin wma_freqs" cavs_decoder_select="blockdsp golomb h264chroma idctdsp qpeldsp videodsp" cllc_decoder_select="bswapdsp" comfortnoise_encoder_select="lpc" @@ -1900,11 +1916,11 @@ vp7_decoder_select="h264pred videodsp" vp8_decoder_select="h264pred videodsp" vp9_decoder_select="videodsp" webp_decoder_select="vp8_decoder" -wmapro_decoder_select="mdct sinewin" -wmav1_decoder_select="mdct sinewin" -wmav1_encoder_select="mdct sinewin" -wmav2_decoder_select="mdct sinewin" -wmav2_encoder_select="mdct sinewin" +wmapro_decoder_select="mdct sinewin wma_freqs" +wmav1_decoder_select="mdct sinewin wma_freqs" +wmav1_encoder_select="mdct sinewin wma_freqs" +wmav2_decoder_select="mdct sinewin wma_freqs" +wmav2_encoder_select="mdct sinewin wma_freqs" wmavoice_decoder_select="lsp rdft dct mdct sinewin" wmv1_decoder_select="h263_decoder" wmv1_encoder_select="h263_encoder" @@ -2092,7 +2108,8 @@ sndio_outdev_deps="sndio_h" v4l2_indev_deps_any="linux_videodev2_h sys_videoio_h" vfwcap_indev_deps="capCreateCaptureWindow vfwcap_defines" vfwcap_indev_extralibs="-lavicap32" -x11grab_indev_deps="x11grab XShmCreateImage" +x11grab_indev_deps="x11grab" +x11grab_xcb_indev_deps="libxcb" # protocols ffrtmpcrypt_protocol_deps="!librtmp_protocol" @@ -2219,6 +2236,7 @@ enable $EXAMPLE_LIST $LIBRARY_LIST $PROGRAM_LIST enable asm enable debug enable doc +enable faan faandct faanidct enable optimizations enable safe_bitstream_reader enable static @@ -2544,8 +2562,9 @@ case "$toolchain" in add_ldflags -fprofile-arcs -ftest-coverage ;; hardened) - add_cflags -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fno-strict-overflow -fstack-protector-all - add_ldflags -Wl,-z,relro -Wl,-z,now + add_cppflags -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 + add_cflags -fno-strict-overflow -fstack-protector-all + add_ldflags -Wl,-z,relro -Wl,-z,now ;; ?*) die "Unknown toolchain $toolchain" @@ -3286,6 +3305,7 @@ elif enabled x86; then case $cpu in i[345]86|pentium) cpuflags="-march=$cpu" + disable i686 disable mmx ;; # targets that do NOT support nopl and conditional mov (cmov) @@ -3646,6 +3666,9 @@ probe_libc(){ elif check_${pfx}cpp_condition sys/brand.h "defined LABELED_BRAND_NAME"; then eval ${pfx}libc_type=solaris add_${pfx}cppflags -D__EXTENSIONS__ -D_XOPEN_SOURCE=600 + else + eval ${pfx}libc_type=default + add_${pfx}cppflags -D_DEFAULT_SOURCE fi } @@ -4038,12 +4061,16 @@ check_func_headers malloc.h _aligned_malloc && enable aligned_malloc check_func ${malloc_prefix}memalign && enable memalign check_func ${malloc_prefix}posix_memalign && enable posix_memalign +check_cpp_condition unistd.h "defined(_POSIX_MONOTONIC_CLOCK)" && + check_func_headers time.h clock_gettime || { check_func_headers time.h clock_gettime -lrt && add_extralibs -lrt && LIBRT="-lrt"; } + check_func fcntl check_func fork check_func gethrtime check_func getopt check_func getrusage check_func gettimeofday +check_func gmtime_r check_func isatty check_func localtime_r check_func mach_absolute_time @@ -4071,6 +4098,7 @@ check_func_headers windows.h MapViewOfFile check_func_headers windows.h SetConsoleTextAttribute check_func_headers windows.h Sleep check_func_headers windows.h VirtualAlloc +check_struct windows.h "CONDITION_VARIABLE" Ptr check_header direct.h check_header dlfcn.h @@ -4252,10 +4280,30 @@ fi check_lib X11/Xlib.h XOpenDisplay -lX11 && enable xlib -enabled x11grab && -require Xext X11/extensions/XShm.h XShmCreateImage -lXext && -require Xfixes X11/extensions/Xfixes.h XFixesGetCursorImage -lXfixes && -{ enabled xlib || die "ERROR: Xlib not found"; } +if enabled libxcb || enabled x11grab && ! disabled libxcb; then + check_pkg_config xcb xcb/xcb.h xcb_connect || { + enabled libxcb && die "ERROR: libxcb not found"; + } && disable x11grab && enable libxcb + + disabled libxcb_shm || + check_pkg_config xcb-shm xcb/shm.h xcb_shm_attach || { + enabled libxcb_shm && die "ERROR: libxcb_shm not found"; + } && check_header sys/shm.h && enable libxcb_shm + + disabled libxcb_xfixes || + check_pkg_config xcb-xfixes xcb/xfixes.h xcb_xfixes_get_cursor_image || { + enabled libxcb_xfixes && die "ERROR: libxcb_xfixes not found"; + } && enable libxcb_xfixes + + add_cflags "$xcb_event_cflags $xcb_shm_cflags $xcb_xfixes_cflags" + add_extralibs "$xcb_event_libs $xcb_shm_libs $xcb_xfixes_libs" +fi + +if enabled x11grab; then + enabled xlib || die "ERROR: Xlib not found" + require Xext X11/extensions/XShm.h XShmCreateImage -lXext + require Xfixes X11/extensions/Xfixes.h XFixesGetCursorImage -lXfixes +fi enabled vdpau && check_cpp_condition vdpau/vdpau.h "defined VDP_DECODER_PROFILE_MPEG4_PART2_ASP" || @@ -4821,7 +4869,7 @@ Cflags: -I\${includedir} EOF } -pkgconfig_generate libavutil "Libav utility library" "$LIBAVUTIL_VERSION" "$LIBM" +pkgconfig_generate libavutil "Libav utility library" "$LIBAVUTIL_VERSION" "$LIBRT $LIBM" pkgconfig_generate libavcodec "Libav codec library" "$LIBAVCODEC_VERSION" "$extralibs" pkgconfig_generate libavformat "Libav container format library" "$LIBAVFORMAT_VERSION" "$extralibs" pkgconfig_generate libavdevice "Libav device handling library" "$LIBAVDEVICE_VERSION" "$extralibs"