--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
--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]
--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]
--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]
--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
"
EXTERNAL_LIBRARY_LIST="
- audiotoolbox
avisynth
bzlib
chromaprint
libmodplug
libmp3lame
libnut
- libnpp
libopencore_amrnb
libopencore_amrwb
libopencv
libtesseract
libtheora
libtwolame
- libutvideo
libv4l2
libvidstab
libvo_amrwbenc
zlib
"
+HWACCEL_LIBRARY_LIST="
+ audiotoolbox
+ cuda
+ cuvid
+ d3d11va
+ dxva2
+ libmfx
+ libnpp
+ mmal
+ nvenc
+ omx
+ vaapi
+ vda
+ vdpau
+ videotoolbox_hwaccel
+ xvmc
+"
+
DOCUMENT_LIST="
doc
htmlpages
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
$DOCUMENT_LIST
$EXAMPLE_LIST
$EXTERNAL_LIBRARY_LIST
+ $HWACCEL_LIBRARY_LIST
$FEATURE_LIST
- $HW_CODECS_LIST
- $HWACCEL_LIST
$LICENSE_LIST
$LIBRARY_LIST
$PROGRAM_LIST
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"
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"
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"
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 <<EOF && add_cppflags -D_FILE_OFFSET_BITS=64
#include <stdlib.h>
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
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
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
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"