| The configure script in the FFmpeg build process is a crucial step that auto-detects features and libraries available on the system, generating customized Makefiles tailored to the specific environment. It examines the system's capabilities, including the presence of compilers, specific libraries (like x264, libmp3lame, etc.), and header files needed for compiling FFmpeg with optimal support for various codecs and features. The resulting Makefiles guide the compilation process, ensuring that FFmpeg is built with the correct options for that particular system, enabling or disabling functionality based on the detected components. Below is the output based on configure --help: $ ./configure --help
Usage: configure [options]
Options: [defaults in brackets after descriptions]
Help options:
--help print this message
--quiet Suppress showing informative output
--list-decoders show all available decoders
--list-encoders show all available encoders
--list-hwaccels show all available hardware accelerators
--list-demuxers show all available demuxers
--list-muxers show all available muxers
--list-parsers show all available parsers
--list-protocols show all available protocols
--list-bsfs show all available bitstream filters
--list-indevs show all available input devices
--list-outdevs show all available output devices
--list-filters show all available filters
Standard options:
--logfile=FILE log tests and output to FILE [ffbuild/config.log]
--disable-logging do not log configure debug information
--fatal-warnings fail if any configure warning is generated
--prefix=PREFIX install in PREFIX [/usr/local]
--bindir=DIR install binaries in DIR [PREFIX/bin]
--datadir=DIR install data files in DIR [PREFIX/share/ffmpeg]
--docdir=DIR install documentation in DIR [PREFIX/share/doc/ffmpeg]
--libdir=DIR install libs in DIR [PREFIX/lib]
--shlibdir=DIR install shared libs in DIR [LIBDIR]
--incdir=DIR install includes in DIR [PREFIX/include]
--mandir=DIR install man page in DIR [PREFIX/share/man]
--pkgconfigdir=DIR install pkg-config files in DIR [LIBDIR/pkgconfig]
--enable-rpath use rpath to allow installing libraries in paths
not part of the dynamic linker search path
use rpath when linking programs (USE WITH CARE)
--install-name-dir=DIR Darwin directory name for installed targets
Licensing options:
--enable-gpl allow use of GPL code, the resulting libs
and binaries will be under GPL [no]
--enable-version3 upgrade (L)GPL to version 3 [no]
--enable-nonfree allow use of nonfree code, the resulting libs
and binaries will be unredistributable [no]
Configuration options:
--disable-static do not build static libraries [no]
--enable-shared build shared libraries [no]
--enable-small optimize for size instead of speed
--disable-runtime-cpudetect disable detecting CPU capabilities at runtime (smaller binary)
--enable-gray enable full grayscale support (slower color)
--disable-swscale-alpha disable alpha channel support in swscale
--disable-all disable building components, libraries and programs
--disable-autodetect disable automatically detected external libraries [no]
Program options:
--disable-programs do not build command line programs
--disable-ffmpeg disable ffmpeg build
--disable-ffplay disable ffplay build
--disable-ffprobe disable ffprobe build
Documentation options:
--disable-doc do not build documentation
--disable-htmlpages do not build HTML documentation pages
--disable-manpages do not build man documentation pages
--disable-podpages do not build POD documentation pages
--disable-txtpages do not build text documentation pages
Component options:
--disable-avdevice disable libavdevice build
--disable-avcodec disable libavcodec build
--disable-avformat disable libavformat build
--disable-swresample disable libswresample build
--disable-swscale disable libswscale build
--disable-postproc disable libpostproc build
--disable-avfilter disable libavfilter build
--disable-pthreads disable pthreads [autodetect]
--disable-w32threads disable Win32 threads [autodetect]
--disable-os2threads disable OS/2 threads [autodetect]
--disable-network disable network support [no]
--disable-dwt disable DWT code
--disable-error-resilience disable error resilience code
--disable-lsp disable LSP code
--disable-faan disable floating point AAN (I)DCT code
--disable-iamf disable support for Immersive Audio Model
--disable-pixelutils disable pixel utils in libavutil
Individual component options:
--disable-everything disable all components listed below
--disable-encoder=NAME disable encoder NAME
--enable-encoder=NAME enable encoder NAME
--disable-encoders disable all encoders
--disable-decoder=NAME disable decoder NAME
--enable-decoder=NAME enable decoder NAME
--disable-decoders disable all decoders
--disable-hwaccel=NAME disable hwaccel NAME
--enable-hwaccel=NAME enable hwaccel NAME
--disable-hwaccels disable all hwaccels
--disable-muxer=NAME disable muxer NAME
--enable-muxer=NAME enable muxer NAME
--disable-muxers disable all muxers
--disable-demuxer=NAME disable demuxer NAME
--enable-demuxer=NAME enable demuxer NAME
--disable-demuxers disable all demuxers
--enable-parser=NAME enable parser NAME
--disable-parser=NAME disable parser NAME
--disable-parsers disable all parsers
--enable-bsf=NAME enable bitstream filter NAME
--disable-bsf=NAME disable bitstream filter NAME
--disable-bsfs disable all bitstream filters
--enable-protocol=NAME enable protocol NAME
--disable-protocol=NAME disable protocol NAME
--disable-protocols disable all protocols
--enable-indev=NAME enable input device NAME
--disable-indev=NAME disable input device NAME
--disable-indevs disable input devices
--enable-outdev=NAME enable output device NAME
--disable-outdev=NAME disable output device NAME
--disable-outdevs disable output devices
--disable-devices disable all devices
--enable-filter=NAME enable filter NAME
--disable-filter=NAME disable filter NAME
--disable-filters disable all filters
External library support:
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-libopus will enable linking to
libopus and allow the libopus encoder to be built, unless it is
specifically disabled with --disable-encoder=libopus.
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.
--disable-alsa disable ALSA support [autodetect]
--disable-appkit disable Apple AppKit framework [autodetect]
--disable-avfoundation disable Apple AVFoundation framework [autodetect]
--enable-avisynth enable reading of AviSynth script files [no]
--disable-bzlib disable bzlib [autodetect]
--disable-coreimage disable Apple CoreImage framework [autodetect]
--enable-chromaprint enable audio fingerprinting with chromaprint [no]
--enable-frei0r enable frei0r video filtering [no]
--enable-gcrypt enable gcrypt, needed for rtmp(t)e support
if openssl, librtmp or gmp is not used [no]
--enable-gmp enable gmp, needed for rtmp(t)e support
if openssl or librtmp is not used [no]
--enable-gnutls enable gnutls, needed for https support
if openssl, libtls or mbedtls is not used [no]
--disable-iconv disable iconv [autodetect]
--enable-jni enable JNI support [no]
--enable-ladspa enable LADSPA audio filtering [no]
--enable-lcms2 enable ICC profile support via LittleCMS 2 [no]
--enable-libaom enable AV1 video encoding/decoding via libaom [no]
--enable-libaribb24 enable ARIB text and caption decoding via libaribb24 [no]
--enable-libaribcaption enable ARIB text and caption decoding via libaribcaption [no]
--enable-libass enable libass subtitles rendering,
needed for subtitles and ass filter [no]
--enable-libbluray enable BluRay reading using libbluray [no]
--enable-libbs2b enable bs2b DSP library [no]
--enable-libcaca enable textual display using libcaca [no]
--enable-libcelt enable CELT decoding via libcelt [no]
--enable-libcdio enable audio CD grabbing with libcdio [no]
--enable-libcodec2 enable codec2 en/decoding using libcodec2 [no]
--enable-libdav1d enable AV1 decoding via libdav1d [no]
--enable-libdavs2 enable AVS2 decoding via libdavs2 [no]
--enable-libdc1394 enable IIDC-1394 grabbing using libdc1394
and libraw1394 [no]
--enable-libdvdnav enable libdvdnav, needed for DVD demuxing [no]
--enable-libdvdread enable libdvdread, needed for DVD demuxing [no]
--enable-libfdk-aac enable AAC de/encoding via libfdk-aac [no]
--enable-libflite enable flite (voice synthesis) support via libflite [no]
--enable-libfontconfig enable libfontconfig, useful for drawtext filter [no]
--enable-libfreetype enable libfreetype, needed for drawtext filter [no]
--enable-libfribidi enable libfribidi, improves drawtext filter [no]
--enable-libharfbuzz enable libharfbuzz, needed for drawtext filter [no]
--enable-libglslang enable GLSL->SPIRV compilation via libglslang [no]
--enable-libgme enable Game Music Emu via libgme [no]
--enable-libgsm enable GSM de/encoding via libgsm [no]
--enable-libiec61883 enable iec61883 via libiec61883 [no]
--enable-libilbc enable iLBC de/encoding via libilbc [no]
--enable-libjack enable JACK audio sound server [no]
--enable-libjxl enable JPEG XL de/encoding via libjxl [no]
--enable-libklvanc enable Kernel Labs VANC processing [no]
--enable-libkvazaar enable HEVC encoding via libkvazaar [no]
--enable-liblc3 enable LC3 de/encoding via liblc3 [no]
--enable-liblcevc-dec enable LCEVC decoding via liblcevc-dec [no]
--enable-liblensfun enable lensfun lens correction [no]
--enable-libmodplug enable ModPlug via libmodplug [no]
--enable-libmp3lame enable MP3 encoding via libmp3lame [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-libopenh264 enable H.264 encoding via OpenH264 [no]
--enable-libopenjpeg enable JPEG 2000 encoding via OpenJPEG [no]
--enable-libopenmpt enable decoding tracked files via libopenmpt [no]
--enable-libopenvino enable OpenVINO as a DNN module backend
for DNN based filters like dnn_processing [no]
--enable-libopus enable Opus de/encoding via libopus [no]
--enable-libplacebo enable libplacebo library [no]
--enable-libpulse enable Pulseaudio input via libpulse [no]
--enable-libqrencode enable QR encode generation via libqrencode [no]
--enable-libquirc enable QR decoding via libquirc [no]
--enable-librabbitmq enable RabbitMQ library [no]
--enable-librav1e enable AV1 encoding via rav1e [no]
--enable-librist enable RIST via librist [no]
--enable-librsvg enable SVG rasterization via librsvg [no]
--enable-librubberband enable rubberband needed for rubberband filter [no]
--enable-librtmp enable RTMP[E] support via librtmp [no]
--enable-libshaderc enable GLSL->SPIRV compilation via libshaderc [no]
--enable-libshine enable fixed-point MP3 encoding via libshine [no]
--enable-libsmbclient enable Samba protocol via libsmbclient [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-libsrt enable Haivision SRT protocol via libsrt [no]
--enable-libssh enable SFTP protocol via libssh [no]
--enable-libsvtav1 enable AV1 encoding via SVT [no]
--enable-libtensorflow enable TensorFlow as a DNN module backend
for DNN based filters like sr [no]
--enable-libtesseract enable Tesseract, needed for ocr filter [no]
--enable-libtheora enable Theora encoding via libtheora [no]
--enable-libtls enable LibreSSL (via libtls), needed for https support
if openssl, gnutls or mbedtls is not used [no]
--enable-libtorch enable Torch as one DNN backend [no]
--enable-libtwolame enable MP2 encoding via libtwolame [no]
--enable-libuavs3d enable AVS3 decoding via libuavs3d [no]
--enable-libv4l2 enable libv4l2/v4l-utils [no]
--enable-libvidstab enable video stabilization using vid.stab [no]
--enable-libvmaf enable vmaf filter via libvmaf [no]
--enable-libvo-amrwbenc enable AMR-WB encoding via libvo-amrwbenc [no]
--enable-libvorbis enable Vorbis en/decoding via libvorbis,
native implementation exists [no]
--enable-libvpx enable VP8 and VP9 de/encoding via libvpx [no]
--enable-libvvenc enable H.266/VVC encoding via vvenc [no]
--enable-libwebp enable WebP encoding via libwebp [no]
--enable-libx264 enable H.264 encoding via x264 [no]
--enable-libx265 enable HEVC encoding via x265 [no]
--enable-libxeve enable EVC encoding via libxeve [no]
--enable-libxevd enable EVC decoding via libxevd [no]
--enable-libxavs enable AVS encoding via xavs [no]
--enable-libxavs2 enable AVS2 encoding via xavs2 [no]
--enable-libxcb enable X11 grabbing using XCB [autodetect]
--enable-libxcb-shm enable X11 grabbing shm communication [autodetect]
--enable-libxcb-xfixes enable X11 grabbing mouse rendering [autodetect]
--enable-libxcb-shape enable X11 grabbing shape rendering [autodetect]
--enable-libxvid enable Xvid encoding via xvidcore,
native MPEG-4/Xvid encoder exists [no]
--enable-libxml2 enable XML parsing using the C library libxml2, needed
for dash and imf demuxing support [no]
--enable-libzimg enable z.lib, needed for zscale filter [no]
--enable-libzmq enable message passing via libzmq [no]
--enable-libzvbi enable teletext support via libzvbi [no]
--enable-lv2 enable LV2 audio filtering [no]
--disable-lzma disable lzma [autodetect]
--enable-decklink enable Blackmagic DeckLink I/O support [no]
--enable-mbedtls enable mbedTLS, needed for https support
if openssl, gnutls or libtls is not used [no]
--enable-mediacodec enable Android MediaCodec support [no]
--enable-mediafoundation enable encoding via MediaFoundation [auto]
--disable-metal disable Apple Metal framework [autodetect]
--enable-libmysofa enable libmysofa, needed for sofalizer filter [no]
--enable-openal enable OpenAL 1.1 capture support [no]
--enable-opencl enable OpenCL processing [no]
--enable-opengl enable OpenGL rendering [no]
--enable-openssl enable openssl, needed for https support
if gnutls, libtls or mbedtls is not used [no]
--enable-pocketsphinx enable PocketSphinx, needed for asr filter [no]
--disable-sndio disable sndio support [autodetect]
--disable-schannel disable SChannel SSP, needed for TLS support on
Windows if openssl and gnutls are not used [autodetect]
--disable-sdl2 disable sdl2 [autodetect]
--disable-securetransport disable Secure Transport, needed for TLS support
on OSX if openssl and gnutls are not used [autodetect]
--enable-vapoursynth enable VapourSynth demuxer [no]
--disable-xlib disable xlib [autodetect]
--disable-zlib disable zlib [autodetect]
The following libraries provide various hardware acceleration features:
--disable-amf disable AMF video encoding code [autodetect]
--disable-audiotoolbox disable Apple AudioToolbox code [autodetect]
--enable-cuda-nvcc enable Nvidia CUDA compiler [no]
--disable-cuda-llvm disable CUDA compilation using clang [autodetect]
--disable-cuvid disable Nvidia CUVID support [autodetect]
--disable-d3d11va disable Microsoft Direct3D 11 video acceleration code [autodetect]
--disable-d3d12va disable Microsoft Direct3D 12 video acceleration code [autodetect]
--disable-dxva2 disable Microsoft DirectX 9 video acceleration code [autodetect]
--disable-ffnvcodec disable dynamically linked Nvidia code [autodetect]
--disable-libdrm disable DRM code (Linux) [autodetect]
--enable-libmfx enable Intel MediaSDK (AKA Quick Sync Video) code via libmfx [no]
--enable-libvpl enable Intel oneVPL code via libvpl if libmfx is not used [no]
--enable-libnpp enable Nvidia Performance Primitives-based code [no]
--enable-mmal enable Broadcom Multi-Media Abstraction Layer (Raspberry Pi) via MMAL [no]
--disable-nvdec disable Nvidia video decoding acceleration (via hwaccel) [autodetect]
--disable-nvenc disable Nvidia video encoding code [autodetect]
--enable-omx enable OpenMAX IL code [no]
--enable-omx-rpi enable OpenMAX IL code for Raspberry Pi [no]
--enable-rkmpp enable Rockchip Media Process Platform code [no]
--disable-v4l2-m2m disable V4L2 mem2mem code [autodetect]
--disable-vaapi disable Video Acceleration API (mainly Unix/Intel) code [autodetect]
--disable-vdpau disable Nvidia Video Decode and Presentation API for Unix code [autodetect]
--disable-videotoolbox disable VideoToolbox code [autodetect]
--disable-vulkan disable Vulkan code [autodetect]
--enable-vulkan-static statically link to libvulkan [no]
Toolchain options:
--arch=ARCH select architecture []
--cpu=CPU select the minimum required CPU (affects
instruction selection, may crash on older CPUs)
--cross-prefix=PREFIX use PREFIX for compilation tools []
--progs-suffix=SUFFIX program name suffix []
--enable-cross-compile assume a cross-compiler is used
--sysroot=PATH root of cross-build tree
--sysinclude=PATH location of cross-build system headers
--target-os=OS compiler targets OS []
--target-exec=CMD command to run executables on target
--target-path=DIR path to view of build directory on target
--target-samples=DIR path to samples directory on target
--tempprefix=PATH force fixed dir/prefix instead of mktemp for checks
--toolchain=NAME set tool defaults according to NAME
(gcc-asan, clang-asan, gcc-msan, clang-msan,
gcc-tsan, clang-tsan, gcc-usan, clang-usan,
valgrind-massif, valgrind-memcheck,
msvc, icl, gcov, llvm-cov, hardened)
--nm=NM use nm tool NM [nm -g]
--ar=AR use archive tool AR [ar]
--as=AS use assembler AS []
--ln_s=LN_S use symbolic link tool LN_S [ln -s -f]
--strip=STRIP use strip tool STRIP [strip]
--windres=WINDRES use windows resource compiler WINDRES [windres]
--x86asmexe=EXE use nasm-compatible assembler EXE [nasm]
--cc=CC use C compiler CC [gcc]
--stdc=STDC use C standard STDC [c17]
--cxx=CXX use C compiler CXX [g++]
--stdcxx=STDCXX use C standard STDCXX [c++11]
--objcc=OCC use ObjC compiler OCC [gcc]
--dep-cc=DEPCC use dependency generator DEPCC [gcc]
--nvcc=NVCC use Nvidia CUDA compiler NVCC or clang []
--ld=LD use linker LD []
--metalcc=METALCC use metal compiler METALCC [xcrun -sdk macosx metal]
--metallib=METALLIB use metal linker METALLIB [xcrun -sdk macosx metallib]
--pkg-config=PKGCONFIG use pkg-config tool PKGCONFIG [pkg-config]
--pkg-config-flags=FLAGS pass additional flags to pkgconf []
--ranlib=RANLIB use ranlib RANLIB [ranlib]
--doxygen=DOXYGEN use DOXYGEN to generate API doc [doxygen]
--host-cc=HOSTCC use host C compiler HOSTCC
--host-cflags=HCFLAGS use HCFLAGS when compiling for host
--host-cppflags=HCPPFLAGS use HCPPFLAGS when compiling for host
--host-ld=HOSTLD use host linker HOSTLD
--host-ldflags=HLDFLAGS use HLDFLAGS when linking for host
--host-extralibs=HLIBS use libs HLIBS when linking for host
--host-os=OS compiler host OS []
--extra-cflags=ECFLAGS add ECFLAGS to CFLAGS []
--extra-cxxflags=ECFLAGS add ECFLAGS to CXXFLAGS []
--extra-objcflags=FLAGS add FLAGS to OBJCFLAGS []
--extra-ldflags=ELDFLAGS add ELDFLAGS to LDFLAGS []
--extra-ldexeflags=ELDFLAGS add ELDFLAGS to LDEXEFLAGS []
--extra-ldsoflags=ELDFLAGS add ELDFLAGS to LDSOFLAGS []
--extra-libs=ELIBS add ELIBS []
--extra-version=STRING version string suffix []
--optflags=OPTFLAGS override optimization-related compiler flags
--nvccflags=NVCCFLAGS override nvcc flags []
--build-suffix=SUFFIX library name suffix []
--enable-pic build position-independent code
--enable-thumb compile for Thumb instruction set
--enable-lto[=arg] use link-time optimization
--env="ENV=override" override the environment variables
Advanced options (experts only):
--malloc-prefix=PREFIX prefix malloc and related names with PREFIX
--custom-allocator=NAME use a supported custom allocator
--disable-symver disable symbol versioning
--enable-hardcoded-tables use hardcoded tables instead of runtime generation
--disable-safe-bitstream-reader
disable buffer boundary checking in bitreaders
(faster, but may crash)
--sws-max-filter-size=N the max filter size swscale uses [256]
Optimization options (experts only):
--disable-asm disable all assembly optimizations
--disable-altivec disable AltiVec optimizations
--disable-vsx disable VSX optimizations
--disable-power8 disable POWER8 optimizations
--disable-amd3dnow disable 3DNow! optimizations
--disable-amd3dnowext disable 3DNow! extended optimizations
--disable-mmx disable MMX optimizations
--disable-mmxext disable MMXEXT optimizations
--disable-sse disable SSE optimizations
--disable-sse2 disable SSE2 optimizations
--disable-sse3 disable SSE3 optimizations
--disable-ssse3 disable SSSE3 optimizations
--disable-sse4 disable SSE4 optimizations
--disable-sse42 disable SSE4.2 optimizations
--disable-avx disable AVX optimizations
--disable-xop disable XOP optimizations
--disable-fma3 disable FMA3 optimizations
--disable-fma4 disable FMA4 optimizations
--disable-avx2 disable AVX2 optimizations
--disable-avx512 disable AVX-512 optimizations
--disable-avx512icl disable AVX-512ICL optimizations
--disable-aesni disable AESNI optimizations
--disable-armv5te disable armv5te optimizations
--disable-armv6 disable armv6 optimizations
--disable-armv6t2 disable armv6t2 optimizations
--disable-vfp disable VFP optimizations
--disable-neon disable NEON optimizations
--disable-dotprod disable DOTPROD optimizations
--disable-i8mm disable I8MM optimizations
--disable-sve disable SVE optimizations
--disable-sve2 disable SVE2 optimizations
--disable-inline-asm disable use of inline assembly
--disable-x86asm disable use of standalone x86 assembly
--disable-mipsdsp disable MIPS DSP ASE R1 optimizations
--disable-mipsdspr2 disable MIPS DSP ASE R2 optimizations
--disable-msa disable MSA optimizations
--disable-mipsfpu disable floating point MIPS optimizations
--disable-mmi disable Loongson MMI optimizations
--disable-lsx disable Loongson LSX optimizations
--disable-lasx disable Loongson LASX optimizations
--disable-rvv disable RISC-V Vector optimizations
--disable-fast-unaligned consider unaligned accesses slow
--disable-simd128 disable WebAssembly simd128 optimizations
Developer options (useful when working on FFmpeg itself):
--disable-debug disable debugging symbols
--enable-debug=LEVEL set the debug level []
--disable-optimizations disable compiler optimizations
--enable-extra-warnings enable more compiler warnings
--disable-stripping disable stripping of executables and shared libraries
--assert-level=level 0(default), 1 or 2, amount of assertion testing,
2 causes a slowdown at runtime.
--enable-memory-poisoning fill heap uninitialized allocated space with arbitrary data
--valgrind=VALGRIND run "make fate" tests through valgrind to detect memory
leaks and errors, using the specified valgrind binary.
Cannot be combined with --target-exec
--enable-ftrapv Trap arithmetic overflows
--samples=PATH location of test samples for FATE, if not set use
$FATE_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
--disable-random
--enable-random=LIST randomly enable/disable specific components or
--disable-random=LIST component groups. LIST is a comma-separated list
of NAME[:PROB] entries where NAME is a component
(group) and PROB the probability associated with
NAME (default 0.5).
--random-seed=VALUE seed value for --enable/disable-random
--disable-valgrind-backtrace do not print a backtrace under Valgrind
(only applies to --disable-optimizations builds)
--enable-ossfuzz Enable building fuzzer tool
--libfuzzer=PATH path to libfuzzer
--ignore-tests=TESTS comma-separated list (without "fate-" prefix
in the name) of tests whose result is ignored
--enable-linux-perf enable Linux Performance Monitor API
--enable-macos-kperf enable macOS kperf (private) API
--disable-large-tests disable tests that use a large amount of memory
--disable-ptx-compression don't compress CUDA PTX code even when possible
--disable-version-tracking don't include the git/release version in the build
NOTE: Object files are built at the place where configure is launched.
Various ffmpeg configure options $ configure --list-decoders
aac c93 imm4 notchlc speex
aac_at cavs imm5 nuv srgc
aac_fixed cbd2_dpcm indeo2 on2avc srt
aac_latm ccaption indeo3 opus ssa
aac_mediacodec cdgraphics indeo4 osq stl
aasc cdtoons indeo5 paf_audio subrip
ac3 cdxl interplay_acm paf_video subviewer
ac3_at cfhd interplay_dpcm pam subviewer1
ac3_fixed cinepak interplay_video pbm sunrast
acelp_kelvin clearvideo ipu pcm_alaw svq1
adpcm_4xm cljr jacosub pcm_alaw_at svq3
adpcm_adx cllc jpeg2000 pcm_bluray tak
adpcm_afc comfortnoise jpegls pcm_dvd targa
adpcm_agm cook jv pcm_f16le targa_y216
adpcm_aica cpia kgv1 pcm_f24le tdsc
adpcm_argo cri kmvc pcm_f32be text
adpcm_ct cscd lagarith pcm_f32le theora
adpcm_dtk cyuv lead pcm_f64be thp
adpcm_ea dca libaom_av1 pcm_f64le tiertexseqvideo
adpcm_ea_maxis_xa dds libaribb24 pcm_lxf tiff
adpcm_ea_r1 derf_dpcm libaribcaption pcm_mulaw tmv
adpcm_ea_r2 dfa libcelt pcm_mulaw_at truehd
adpcm_ea_r3 dfpwm libcodec2 pcm_s16be truemotion1
adpcm_ea_xas dirac libdav1d pcm_s16be_planar truemotion2
adpcm_g722 dnxhd libdavs2 pcm_s16le truemotion2rt
adpcm_g726 dolby_e libfdk_aac pcm_s16le_planar truespeech
adpcm_g726le dpx libgsm pcm_s24be tscc
adpcm_ima_acorn dsd_lsbf libgsm_ms pcm_s24daud tscc2
adpcm_ima_alp dsd_lsbf_planar libilbc pcm_s24le tta
adpcm_ima_amv dsd_msbf libjxl pcm_s24le_planar twinvq
adpcm_ima_apc dsd_msbf_planar libjxl_anim pcm_s32be txd
adpcm_ima_apm dsicinaudio liblc3 pcm_s32le ulti
adpcm_ima_cunning dsicinvideo libopencore_amrnb pcm_s32le_planar utvideo
adpcm_ima_dat4 dss_sp libopencore_amrwb pcm_s64be v210
adpcm_ima_dk3 dst libopenh264 pcm_s64le v210x
adpcm_ima_dk4 dvaudio libopus pcm_s8 v308
adpcm_ima_ea_eacs dvbsub librsvg pcm_s8_planar v408
adpcm_ima_ea_sead dvdsub libspeex pcm_sga v410
adpcm_ima_iss dvvideo libuavs3d pcm_u16be vb
adpcm_ima_moflex dxa libvorbis pcm_u16le vble
adpcm_ima_mtf dxtory libvpx_vp8 pcm_u24be vbn
adpcm_ima_oki dxv libvpx_vp9 pcm_u24le vc1
adpcm_ima_qt eac3 libxevd pcm_u32be vc1_cuvid
adpcm_ima_qt_at eac3_at libzvbi_teletext pcm_u32le vc1_mmal
adpcm_ima_rad eacmv loco pcm_u8 vc1_qsv
adpcm_ima_smjpeg eamad lscr pcm_vidc vc1_v4l2m2m
adpcm_ima_ssi eatgq m101 pcx vc1image
adpcm_ima_wav eatgv mace3 pdv vcr1
adpcm_ima_ws eatqi mace6 pfm vmdaudio
adpcm_ima_xbox eightbps magicyuv pgm vmdvideo
adpcm_ms eightsvx_exp mdec pgmyuv vmix
adpcm_mtaf eightsvx_fib media100 pgssub vmnc
adpcm_psx escape124 metasound pgx vnull
adpcm_sbpro_2 escape130 microdvd phm vorbis
adpcm_sbpro_3 evrc mimic photocd vp3
adpcm_sbpro_4 exr misc4 pictor vp4
adpcm_swf fastaudio mjpeg pixlet vp5
adpcm_thp ffv1 mjpeg_cuvid pjs vp6
adpcm_thp_le ffvhuff mjpeg_qsv png vp6a
adpcm_vima ffwavesynth mjpegb ppm vp6f
adpcm_xa fic mlp prores vp7
adpcm_xmd fits mmvideo prosumer vp8
adpcm_yamaha flac mobiclip psd vp8_cuvid
adpcm_zork flashsv motionpixels ptx vp8_mediacodec
agm flashsv2 movtext qcelp vp8_qsv
aic flic mp1 qdm2 vp8_rkmpp
alac flv mp1_at qdm2_at vp8_v4l2m2m
alac_at fmvc mp1float qdmc vp9
alias_pix fourxm mp2 qdmc_at vp9_cuvid
als fraps mp2_at qdraw vp9_mediacodec
amr_nb_at frwu mp2float qoa vp9_qsv
amrnb ftr mp3 qoi vp9_rkmpp
amrnb_mediacodec g2m mp3_at qpeg vp9_v4l2m2m
amrwb g723_1 mp3_mediacodec qtrle vplayer
amrwb_mediacodec g729 mp3adu r10k vqa
amv gdv mp3adufloat r210 vqc
anm gem mp3float ra_144 vvc
ansi gif mp3on4 ra_288 vvc_qsv
anull gremlin_dpcm mp3on4float ralf wady_dpcm
apac gsm mpc7 rasc wavarc
ape gsm_ms mpc8 rawvideo wavpack
apng gsm_ms_at mpeg1_cuvid realtext wbmp
aptx h261 mpeg1_v4l2m2m rka wcmv
aptx_hd h263 mpeg1video rl2 webp
arbc h263_v4l2m2m mpeg2_cuvid roq webvtt
argo h263i mpeg2_mediacodec roq_dpcm wmalossless
ass h263p mpeg2_mmal rpza wmapro
asv1 h264 mpeg2_qsv rscc wmav1
asv2 h264_amf mpeg2_v4l2m2m rtv1 wmav2
atrac1 h264_cuvid mpeg2video rv10 wmavoice
atrac3 h264_mediacodec mpeg4 rv20 wmv1
atrac3al h264_mmal mpeg4_cuvid rv30 wmv2
atrac3p h264_qsv mpeg4_mediacodec rv40 wmv3
atrac3pal h264_rkmpp mpeg4_mmal rv60 wmv3image
atrac9 h264_v4l2m2m mpeg4_v4l2m2m s302m wnv1
aura hap mpegvideo sami wrapped_avframe
aura2 hca mpl2 sanm ws_snd1
av1 hcom msa1 sbc xan_dpcm
av1_amf hdr mscc scpr xan_wc3
av1_cuvid hevc msmpeg4v1 screenpresso xan_wc4
av1_mediacodec hevc_amf msmpeg4v2 sdx2_dpcm xbin
av1_qsv hevc_cuvid msmpeg4v3 sga xbm
avrn hevc_mediacodec msnsiren sgi xface
avrp hevc_qsv msp2 sgirle xl
avs hevc_rkmpp msrle sheervideo xma1
avui hevc_v4l2m2m mss1 shorten xma2
bethsoftvid hnm4_video mss2 simbiosis_imx xpm
bfi hq_hqa msvideo1 sipr xsub
bink hqx mszh siren xwd
binkaudio_dct huffyuv mts2 smackaud y41p
binkaudio_rdft hymt mv30 smacker ylc
bintext iac mvc1 smc yop
bitpacked idcin mvc2 smvjpeg yuv4
bmp idf mvdv snow zero12v
bmv_audio iff_ilbm mvha sol_dpcm zerocodec
bmv_video ilbc mwsc sonic zlib
bonk ilbc_at mxpeg sp5x zmbv
brender_pix imc nellymoser speedhq
kurapa@ckii.com:66.94.125.85:~/ffmpeg_sources/ffmpeg$ configure --list-encoders
a64multi dvdsub libkvazaar pbm rpza
a64multi5 dvvideo liblc3 pcm_alaw rv10
aac dxv libmp3lame pcm_alaw_at rv20
aac_at eac3 libopencore_amrnb pcm_bluray s302m
aac_mf exr libopenh264 pcm_dvd sbc
ac3 ffv1 libopenjpeg pcm_f32be sgi
ac3_fixed ffv1_vulkan libopus pcm_f32le smc
ac3_mf ffvhuff librav1e pcm_f64be snow
adpcm_adx fits libshine pcm_f64le sonic
adpcm_argo flac libspeex pcm_mulaw sonic_ls
adpcm_g722 flashsv libsvtav1 pcm_mulaw_at speedhq
adpcm_g726 flashsv2 libtheora pcm_s16be srt
adpcm_g726le flv libtwolame pcm_s16be_planar ssa
adpcm_ima_alp g723_1 libvo_amrwbenc pcm_s16le subrip
adpcm_ima_amv gif libvorbis pcm_s16le_planar sunrast
adpcm_ima_apm h261 libvpx_vp8 pcm_s24be svq1
adpcm_ima_qt h263 libvpx_vp9 pcm_s24daud targa
adpcm_ima_ssi h263_v4l2m2m libvvenc pcm_s24le text
adpcm_ima_wav h263p libwebp pcm_s24le_planar tiff
adpcm_ima_ws h264_amf libwebp_anim pcm_s32be truehd
adpcm_ms h264_mediacodec libx262 pcm_s32le tta
adpcm_swf h264_mf libx264 pcm_s32le_planar ttml
adpcm_yamaha h264_nvenc libx264rgb pcm_s64be utvideo
alac h264_omx libx265 pcm_s64le v210
alac_at h264_qsv libxavs pcm_s8 v308
alias_pix h264_v4l2m2m libxavs2 pcm_s8_planar v408
amv h264_vaapi libxeve pcm_u16be v410
anull h264_videotoolbox libxvid pcm_u16le vbn
apng h264_vulkan ljpeg pcm_u24be vc2
aptx hap magicyuv pcm_u24le vnull
aptx_hd hdr mjpeg pcm_u32be vorbis
ass hevc_amf mjpeg_qsv pcm_u32le vp8_mediacodec
asv1 hevc_d3d12va mjpeg_vaapi pcm_u8 vp8_v4l2m2m
asv2 hevc_mediacodec mlp pcm_vidc vp8_vaapi
av1_amf hevc_mf movtext pcx vp9_mediacodec
av1_mediacodec hevc_nvenc mp2 pfm vp9_qsv
av1_mf hevc_qsv mp2fixed pgm vp9_vaapi
av1_nvenc hevc_v4l2m2m mp3_mf pgmyuv wavpack
av1_qsv hevc_vaapi mpeg1video phm wbmp
av1_vaapi hevc_videotoolbox mpeg2_qsv png webvtt
avrp hevc_vulkan mpeg2_vaapi ppm wmav1
avui huffyuv mpeg2video prores wmav2
bitpacked ilbc_at mpeg4 prores_aw wmv1
bmp jpeg2000 mpeg4_mediacodec prores_ks wmv2
cfhd jpegls mpeg4_omx prores_videotoolbox wrapped_avframe
cinepak libaom_av1 mpeg4_v4l2m2m qoi xbm
cljr libcodec2 msmpeg4v2 qtrle xface
comfortnoise libfdk_aac msmpeg4v3 r10k xsub
dca libgsm msrle r210 xwd
dfpwm libgsm_ms msvideo1 ra_144 y41p
dnxhd libilbc nellymoser rawvideo yuv4
dpx libjxl opus roq zlib
dvbsub libjxl_anim pam roq_dpcm zmbv
kurapa@ckii.com:66.94.125.85:~/ffmpeg_sources/ffmpeg$ configure --list-hwaccels
av1_d3d11va h264_nvdec mjpeg_vaapi mpeg4_videotoolbox vp9_nvdec
av1_d3d11va2 h264_vaapi mpeg1_nvdec prores_videotoolbox vp9_vaapi
av1_d3d12va h264_vdpau mpeg1_vdpau vc1_d3d11va vp9_vdpau
av1_dxva2 h264_videotoolbox mpeg1_videotoolbox vc1_d3d11va2 vp9_videotoolbox
av1_nvdec h264_vulkan mpeg2_d3d11va vc1_d3d12va vvc_vaapi
av1_vaapi hevc_d3d11va mpeg2_d3d11va2 vc1_dxva2 wmv3_d3d11va
av1_vdpau hevc_d3d11va2 mpeg2_d3d12va vc1_nvdec wmv3_d3d11va2
av1_videotoolbox hevc_d3d12va mpeg2_dxva2 vc1_vaapi wmv3_d3d12va
av1_vulkan hevc_dxva2 mpeg2_nvdec vc1_vdpau wmv3_dxva2
h263_vaapi hevc_nvdec mpeg2_vaapi vp8_nvdec wmv3_nvdec
h263_videotoolbox hevc_vaapi mpeg2_vdpau vp8_vaapi wmv3_vaapi
h264_d3d11va hevc_vdpau mpeg2_videotoolbox vp9_d3d11va wmv3_vdpau
h264_d3d11va2 hevc_videotoolbox mpeg4_nvdec vp9_d3d11va2
h264_d3d12va hevc_vulkan mpeg4_vaapi vp9_d3d12va
h264_dxva2 mjpeg_nvdec mpeg4_vdpau vp9_dxva2
kurapa@ckii.com:66.94.125.85:~/ffmpeg_sources/ffmpeg$ configure --list-muxers
a64 dirac ismv ogv segment
ac3 dnxhd ivf oma smjpeg
ac4 dts jacosub opus smoothstreaming
adts dv kvag pcm_alaw sox
adx eac3 latm pcm_f32be spdif
aea evc lc3 pcm_f32le spx
aiff f4v lrc pcm_f64be srt
alp ffmetadata m4v pcm_f64le stream_segment
amr fifo matroska pcm_mulaw streamhash
amv filmstrip matroska_audio pcm_s16be sup
apm fits md5 pcm_s16le swf
apng flac microdvd pcm_s24be tee
aptx flv mjpeg pcm_s24le tg2
aptx_hd framecrc mkvtimestamp_v2 pcm_s32be tgp
argo_asf framehash mlp pcm_s32le truehd
argo_cvg framemd5 mmf pcm_s8 tta
asf g722 mov pcm_u16be ttml
asf_stream g723_1 mp2 pcm_u16le uncodedframecrc
ass g726 mp3 pcm_u24be vc1
ast g726le mp4 pcm_u24le vc1t
au gif mpeg1system pcm_u32be voc
avi gsm mpeg1vcd pcm_u32le vvc
avif gxf mpeg1video pcm_u8 w64
avm2 h261 mpeg2dvd pcm_vidc wav
avs2 h263 mpeg2svcd psp webm
avs3 h264 mpeg2video rawvideo webm_chunk
bit hash mpeg2vob rcwt webm_dash_manifest
caf hds mpegts rm webp
cavsvideo hevc mpjpeg roq webvtt
chromaprint hls mxf rso wsaud
codec2 iamf mxf_d10 rtp wtv
codec2raw ico mxf_opatom rtp_mpegts wv
crc ilbc null rtsp yuv4mpegpipe
dash image2 nut sap
data image2pipe obu sbc
daud ipod oga scc
dfpwm ircam ogg segafilm
kurapa@ckii.com:66.94.125.85:~/ffmpeg_sources/ffmpeg$ configure --list-parsers
aac dirac g723_1 mjpeg vc1
aac_latm dnxhd g729 mlp vorbis
ac3 dnxuc gif mpeg4video vp3
adx dolby_e gsm mpegaudio vp8
amr dpx h261 mpegvideo vp9
av1 dvaudio h263 opus vvc
avs2 dvbsub h264 png webp
avs3 dvd_nav hdr pnm xbm
bmp dvdsub hevc qoi xma
cavsvideo evc ipu rv34 xwd
cook ffv1 jpeg2000 sbc
cri flac jpegxl sipr
dca ftr misc4 tak
kurapa@ckii.com:66.94.125.85:~/ffmpeg_sources/ffmpeg$ configure --list-protocols
android_content file libamqp md5 rtp
async ftp librist mmsh sctp
bluray gopher librtmp mmst srtp
cache gophers librtmpe pipe subfile
concat hls librtmps prompeg tcp
concatf http librtmpt rtmp tee
crypto httpproxy librtmpte rtmpe tls
data https libsmbclient rtmps udp
fd icecast libsrt rtmpt udplite
ffrtmpcrypt ipfs_gateway libssh rtmpte unix
ffrtmphttp ipns_gateway libzmq rtmpts
kurapa@ckii.com:66.94.125.85:~/ffmpeg_sources/ffmpeg$ configure --list-bsfs
aac_adtstoasc dv_error_marker hevc_metadata noise text2movsub
av1_frame_merge eac3_core hevc_mp4toannexb null trace_headers
av1_frame_split evc_frame_merge imx_dump_header opus_metadata truehd_core
av1_metadata extract_extradata media100_to_mjpegb pcm_rechunk vp9_metadata
chomp filter_units mjpeg2jpeg pgs_frame_merge vp9_raw_reorder
dca_core h264_metadata mjpega_dump_header prores_metadata vp9_superframe
dovi_rpu h264_mp4toannexb mov2textsub remove_extradata vp9_superframe_split
dts2pts h264_redundant_pps mpeg2_metadata setts vvc_metadata
dump_extradata hapqa_extract mpeg4_unpack_bframes showinfo vvc_mp4toannexb
kurapa@ckii.com:66.94.125.85:~/ffmpeg_sources/ffmpeg$ configure --list-indevs
alsa dshow kmsgrab oss xcbgrab
android_camera fbdev lavfi pulse
avfoundation gdigrab libcdio sndio
bktr iec61883 libdc1394 v4l2
decklink jack openal vfwcap
kurapa@ckii.com:66.94.125.85:~/ffmpeg_sources/ffmpeg$ configure --list-outdevs
alsa decklink oss sndio
audiotoolbox fbdev pulse v4l2
caca opengl sdl2 xv
kurapa@ckii.com:66.94.125.85:~/ffmpeg_sources/ffmpeg$ configure --list-filters
a3dscope bbox estdif mix shuffleframes
aap bench exposure monochrome shufflepixels
abench bilateral extractplanes morpho shuffleplanes
abitscope bilateral_cuda extrastereo movie sidechaincompress
acompressor biquad fade mpdecimate sidechaingate
acontrast bitplanenoise feedback mptestsrc sidedata
acopy blackdetect fftdnoiz msad sierpinski
acrossfade blackframe fftfilt multiply signalstats
acrossover blend field negate signature
acrusher blend_vulkan fieldhint nlmeans silencedetect
acue blockdetect fieldmatch nlmeans_opencl silenceremove
addroi blurdetect fieldorder nlmeans_vulkan sinc
adeclick bm3d fillborders nnedi sine
adeclip boxblur find_rect noformat siti
adecorrelate boxblur_opencl firequalizer noise smartblur
adelay bs2b flanger normalize smptebars
adenorm bwdif flip_vulkan null smptehdbars
aderivative bwdif_cuda flite nullsink sobel
adrawgraph bwdif_vulkan floodfill nullsrc sobel_opencl
adrc cas format ocr sofalizer
adynamicequalizer ccrepack fps ocv spectrumsynth
adynamicsmooth cellauto framepack openclsrc speechnorm
aecho channelmap framerate oscilloscope split
aemphasis channelsplit framestep overlay spp
aeval chorus freezedetect overlay_cuda sr
aevalsrc chromaber_vulkan freezeframes overlay_opencl sr_amf
aexciter chromahold frei0r overlay_qsv ssim
afade chromakey frei0r_src overlay_vaapi ssim360
afdelaysrc chromakey_cuda fspp overlay_vulkan stereo3d
afftdn chromanr fsync owdenoise stereotools
afftfilt chromashift gblur pad stereowiden
afir ciescope gblur_vulkan pad_opencl streamselect
afireqsrc codecview geq pad_vaapi subtitles
afirsrc color gradfun pal100bars super2xsai
aformat color_vulkan gradients pal75bars superequalizer
afreqshift colorbalance graphmonitor palettegen surround
afwtdn colorchannelmixer grayworld paletteuse swaprect
agate colorchart greyedge pan swapuv
agraphmonitor colorcontrast guided perlin tblend
ahistogram colorcorrect haas perms telecine
aiir colorhold haldclut perspective testsrc
aintegral colorize haldclutsrc phase testsrc2
ainterleave colorkey hdcd photosensitivity thistogram
alatency colorkey_opencl headphone pixdesctest threshold
alimiter colorlevels hflip pixelize thumbnail
allpass colormap hflip_vulkan pixscope thumbnail_cuda
allrgb colormatrix highpass pp tile
allyuv colorspace highshelf pp7 tiltandshift
aloop colorspace_cuda hilbert premultiply tiltshelf
alphaextract colorspectrum histeq prewitt tinterlace
alphamerge colortemperature histogram prewitt_opencl tlut2
amerge compand hqdn3d procamp_vaapi tmedian
ametadata compensationdelay hqx program_opencl tmidequalizer
amix concat hstack pseudocolor tmix
amovie convolution hstack_qsv psnr tonemap
amplify convolution_opencl hstack_vaapi pullup tonemap_opencl
amultiply convolve hsvhold qp tonemap_vaapi
anequalizer copy hsvkey qrencode tpad
anlmdn coreimage hue qrencodesrc transpose
anlmf coreimagesrc huesaturation quirc transpose_npp
anlms corr hwdownload random transpose_opencl
anoisesrc cover_rect hwmap readeia608 transpose_vaapi
anull crop hwupload readvitc transpose_vt
anullsink cropdetect hwupload_cuda realtime transpose_vulkan
anullsrc crossfeed hysteresis remap treble
apad crystalizer iccdetect remap_opencl tremolo
aperms cue iccgen removegrain trim
aphasemeter curves identity removelogo unpremultiply
aphaser datascope idet repeatfields unsharp
aphaseshift dblur il replaygain unsharp_opencl
apsnr dcshift inflate reverse untile
apsyclip dctdnoiz interlace rgbashift uspp
apulsator ddagrab interlace_vulkan rgbtestsrc v360
arealtime deband interleave roberts vaguedenoiser
aresample deblock join roberts_opencl varblur
areverse decimate kerndeint rotate vectorscope
arls deconvolve kirsch rubberband vflip
arnndn dedot ladspa sab vflip_vulkan
asdr deesser lagfun scale vfrdet
asegment deflate latency scale2ref vibrance
aselect deflicker lcevc scale2ref_npp vibrato
asendcmd deinterlace_qsv lenscorrection scale_cuda vidstabdetect
asetnsamples deinterlace_vaapi lensfun scale_npp vidstabtransform
asetpts dejudder libplacebo scale_qsv vif
asetrate delogo libvmaf scale_vaapi vignette
asettb denoise_vaapi libvmaf_cuda scale_vt virtualbass
ashowinfo derain life scale_vulkan vmafmotion
asidedata deshake limitdiff scdet volume
asisdr deshake_opencl limiter scharr volumedetect
asoftclip despill loop scroll vpp_amf
aspectralstats detelecine loudnorm segment vpp_qsv
asplit dialoguenhance lowpass select vstack
asr dilation lowshelf selectivecolor vstack_qsv
ass dilation_opencl lumakey sendcmd vstack_vaapi
astats displace lut separatefields w3fdif
astreamselect dnn_classify lut1d setdar waveform
asubboost dnn_detect lut2 setfield weave
asubcut dnn_processing lut3d setparams xbr
asupercut doubleweave lutrgb setpts xcorrelate
asuperpass drawbox lutyuv setrange xfade
asuperstop drawbox_vaapi lv2 setsar xfade_opencl
atadenoise drawgraph mandelbrot settb xfade_vulkan
atempo drawgrid maskedclamp sharpen_npp xmedian
atilt drawtext maskedmax sharpness_vaapi xpsnr
atrim drmeter maskedmerge shear xstack
avectorscope dynaudnorm maskedmin showcqt xstack_qsv
avgblur earwax maskedthreshold showcwt xstack_vaapi
avgblur_opencl ebur128 maskfun showfreqs yadif
avgblur_vulkan edgedetect mcdeint showinfo yadif_cuda
avsynctest elbg mcompand showpalette yadif_videotoolbox
axcorrelate entropy median showspatial yaepblur
azmq epx mergeplanes showspectrum yuvtestsrc
backgroundkey eq mestimate showspectrumpic zmq
bandpass equalizer metadata showvolume zoneplate
bandreject erosion midequalizer showwaves zoompan
bass erosion_opencl minterpolate showwavespic zscale
|