X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=configure;h=aa07224191fffbf284cd809b1cf80c57b9d2b1dc;hb=888a5c794778a2f2aad22e9b4a3952dff92b11fa;hp=e6ebd3bdb8915c958c52a6443c3d34ea4941c48b;hpb=5558ff3a9f11acbf751fe46a27f5c67b04b23884;p=ffmpeg diff --git a/configure b/configure index e6ebd3bdb89..aa07224191f 100755 --- a/configure +++ b/configure @@ -149,22 +149,6 @@ Component options: --disable-faan disable floating point AAN (I)DCT code --disable-pixelutils disable pixel utils in libavutil -Hardware accelerators: - --disable-d3d11va disable D3D11VA code [autodetect] - --disable-dxva2 disable DXVA2 code [autodetect] - --disable-vaapi disable VAAPI code [autodetect] - --disable-vda disable VDA code [autodetect] - --disable-vdpau disable VDPAU code [autodetect] - -Hardware-accelerated decoding/encoding: - --enable-cuda enable dynamically linked CUDA [no] - --enable-cuvid enable CUVID support [autodetect] - --enable-libmfx enable HW acceleration through libmfx - --enable-mmal enable decoding via MMAL [no] - --enable-nvenc enable NVIDIA NVENC support [no] - --enable-omx enable encoding via OpenMAX IL [no] - --enable-omx-rpi enable encoding via OpenMAX IL for Raspberry Pi [no] - Individual component options: --disable-everything disable all components listed below --disable-encoder=NAME disable encoder NAME @@ -203,7 +187,20 @@ Individual component options: --disable-filters disable all filters External library support: - --disable-audiotoolbox enable AudioToolbox decoders and encoders [autodetect] + + Using any of the following switches will allow FFmpeg to link to the + corresponding external library. All the components depending on that library + will become enabled, if all their other dependencies are met and they are not + explicitly disabled. E.g. --enable-libwavpack will enable linking to + libwavpack and allow the libwavpack encoder to be built, unless it is + specifically disabled with --disable-encoder=libwavpack. + + Note that only the system libraries are auto-detected. All the other external + libraries must be explicitly enabled. + + Also note that the following help text describes the purpose of the libraries + themselves, not all their features will necessarily be usable by FFmpeg. + --enable-avisynth enable reading of AviSynth script files [no] --disable-bzlib disable bzlib [autodetect] --enable-chromaprint enable audio fingerprinting with chromaprint [no] @@ -243,7 +240,6 @@ External library support: --enable-libmp3lame enable MP3 encoding via libmp3lame [no] --enable-libnut enable NUT (de)muxing via libnut, native (de)muxer exists [no] - --enable-libnpp enable NVIDIA Performance Primitives-based code [no] --enable-libopencore-amrnb enable AMR-NB de/encoding via libopencore-amrnb [no] --enable-libopencore-amrwb enable AMR-WB decoding via libopencore-amrwb [no] --enable-libopencv enable video filtering via libopencv [no] @@ -263,7 +259,6 @@ External library support: --enable-libtesseract enable Tesseract, needed for ocr filter [no] --enable-libtheora enable Theora encoding via libtheora [no] --enable-libtwolame enable MP2 encoding via libtwolame [no] - --enable-libutvideo enable Ut Video encoding and decoding via libutvideo [no] --enable-libv4l2 enable libv4l2/v4l-utils [no] --enable-libvidstab enable video stabilization using vid.stab [no] --enable-libvo-amrwbenc enable AMR-WB encoding via libvo-amrwbenc [no] @@ -298,11 +293,27 @@ External library support: --disable-sdl disable sdl [autodetect] --disable-securetransport disable Secure Transport, needed for TLS support on OSX if openssl and gnutls are not used [autodetect] - --disable-videotoolbox disable VideoToolbox code [autodetect] --enable-x11grab enable X11 grabbing (legacy) [no] --disable-xlib disable xlib [autodetect] --disable-zlib disable zlib [autodetect] + The following libraries provide various hardware acceleration features: + --disable-audiotoolbox disable Apple AudioToolbox code [autodetect] + --enable-cuda enable dynamically linked Nvidia CUDA code [no] + --enable-cuvid enable Nvidia CUVID support [autodetect] + --disable-d3d11va disable Microsoft Direct3D 11 video acceleration code [autodetect] + --disable-dxva2 disable Microsoft DirectX 9 video acceleration code [autodetect] + --enable-libmfx enable Intel MediaSDK (AKA Quick Sync Video) code via libmfx [no] + --enable-libnpp enable Nvidia Performance Primitives-based code [no] + --enable-mmal enable Broadcom Multi-Media Abstraction Layer (Raspberry Pi) via MMAL [no] + --enable-nvenc enable Nvidia video encoding code [no] + --enable-omx enable OpenMAX IL code [no] + --enable-omx-rpi enable OpenMAX IL code for Raspberry Pi [no] + --disable-vaapi disable Video Acceleration API (mainly Unix/Intel) code [autodetect] + --disable-vda disable Apple Video Decode Acceleration code [autodetect] + --disable-vdpau disable Nvidia Video Decode and Presentation API for Unix code [autodetect] + --disable-videotoolbox disable VideoToolbox code [autodetect] + Toolchain options: --arch=ARCH select architecture [$arch] --cpu=CPU select the minimum required CPU (affects @@ -1455,7 +1466,6 @@ EXAMPLE_LIST=" " EXTERNAL_LIBRARY_LIST=" - audiotoolbox avisynth bzlib chromaprint @@ -1490,7 +1500,6 @@ EXTERNAL_LIBRARY_LIST=" libmodplug libmp3lame libnut - libnpp libopencore_amrnb libopencore_amrwb libopencv @@ -1510,7 +1519,6 @@ EXTERNAL_LIBRARY_LIST=" libtesseract libtheora libtwolame - libutvideo libv4l2 libvidstab libvo_amrwbenc @@ -1545,6 +1553,24 @@ EXTERNAL_LIBRARY_LIST=" zlib " +HWACCEL_LIBRARY_LIST=" + audiotoolbox + cuda + cuvid + d3d11va + dxva2 + libmfx + libnpp + mmal + nvenc + omx + vaapi + vda + vdpau + videotoolbox_hwaccel + xvmc +" + DOCUMENT_LIST=" doc htmlpages @@ -1566,25 +1592,6 @@ FEATURE_LIST=" swscale_alpha " -HW_CODECS_LIST=" - cuda - cuvid - libmfx - mmal - nvenc - omx -" - -HWACCEL_LIST=" - d3d11va - dxva2 - vaapi - vda - vdpau - videotoolbox_hwaccel - xvmc -" - LIBRARY_LIST=" avcodec avdevice @@ -1630,9 +1637,8 @@ CONFIG_LIST=" $DOCUMENT_LIST $EXAMPLE_LIST $EXTERNAL_LIBRARY_LIST + $HWACCEL_LIBRARY_LIST $FEATURE_LIST - $HW_CODECS_LIST - $HWACCEL_LIST $LICENSE_LIST $LIBRARY_LIST $PROGRAM_LIST @@ -2668,6 +2674,7 @@ scale_npp_filter_deps="cuda libnpp" nvenc_encoder_deps="nvenc" h264_cuvid_decoder_deps="cuda cuvid CUVIDH264PICPARAMS" h264_cuvid_decoder_select="h264_mp4toannexb_bsf h264_cuvid_hwaccel" +h264_nvenc_encoder_deps="nvenc" h264_qsv_decoder_deps="libmfx" h264_qsv_decoder_select="h264_mp4toannexb_bsf h264_parser qsvdec h264_qsv_hwaccel" h264_qsv_encoder_deps="libmfx" @@ -2677,6 +2684,7 @@ h264_vaapi_encoder_select="vaapi_encode golomb" hevc_cuvid_decoder_deps="cuda cuvid CUVIDHEVCPICPARAMS" hevc_cuvid_decoder_select="hevc_mp4toannexb_bsf hevc_cuvid_hwaccel" +hevc_nvenc_encoder_deps="nvenc" hevc_qsv_decoder_deps="libmfx" hevc_qsv_decoder_select="hevc_mp4toannexb_bsf hevc_parser qsvdec hevc_qsv_hwaccel" hevc_qsv_encoder_deps="libmfx" @@ -2773,8 +2781,6 @@ libspeex_encoder_deps="libspeex" libspeex_encoder_select="audio_frame_queue" libtheora_encoder_deps="libtheora" libtwolame_encoder_deps="libtwolame" -libutvideo_decoder_deps="libutvideo" -libutvideo_encoder_deps="libutvideo" libvo_amrwbenc_encoder_deps="libvo_amrwbenc" libvorbis_decoder_deps="libvorbis" libvorbis_encoder_deps="libvorbis" @@ -4523,6 +4529,7 @@ fi add_cppflags -D_ISOC99_SOURCE add_cxxflags -D__STDC_CONSTANT_MACROS +add_cxxflags -std=c++11 check_cflags -std=c99 check_cc -D_FILE_OFFSET_BITS=64 < @@ -5013,7 +5020,6 @@ die_license_disabled gpl frei0r die_license_disabled gpl libcdio die_license_disabled gpl librubberband die_license_disabled gpl libsmbclient -die_license_disabled gpl libutvideo die_license_disabled gpl libvidstab die_license_disabled gpl libx264 die_license_disabled gpl libx265 @@ -5685,9 +5691,6 @@ enabled libtheora && require libtheora theora/theoraenc.h th_info_init - enabled libtwolame && require libtwolame twolame.h twolame_init -ltwolame && { check_lib twolame.h twolame_encode_buffer_float32_interleaved -ltwolame || die "ERROR: libtwolame must be installed and version must be >= 0.3.10"; } -enabled libutvideo && { require_cpp utvideo "stdint.h stdlib.h utvideo/utvideo.h utvideo/Codec.h" 'CCodec*' -lutvideo -lstdc++ && - check_cpp_condition utvideo/utvideo.h "!defined(UTVIDEO_VERSION_MAJOR) || UTVIDEO_VERSION_MAJOR < 15 || UTVIDEO_VERSION_MAJOR == 15 && UTVIDEO_VERSION_MINOR < 4" || - die "ERROR: libutvideo version must be <= 15.3.0."; } enabled libv4l2 && require_pkg_config libv4l2 libv4l2.h v4l2_ioctl enabled libvidstab && require_pkg_config "vidstab >= 0.98" vid.stab/libvidstab.h vsMotionDetectInit enabled libvo_amrwbenc && require libvo_amrwbenc vo-amrwbenc/enc_if.h E_IF_init -lvo-amrwbenc @@ -6428,6 +6431,10 @@ echo "External libraries:" print_enabled '' $EXTERNAL_LIBRARY_LIST | print_in_columns echo +echo "External libraries providing hardware acceleration:" +print_enabled '' $HWACCEL_LIBRARY_LIST | print_in_columns +echo + echo "Libraries:" print_enabled '' $LIBRARY_LIST | print_in_columns echo @@ -6439,10 +6446,6 @@ for type in decoder encoder hwaccel parser demuxer muxer protocol filter bsf ind echo done -echo "Enabled Hardware-accelerated codecs:" -print_enabled '' $HW_CODECS_LIST | print_in_columns -echo - license="LGPL version 2.1 or later" if enabled nonfree; then license="nonfree and unredistributable"