External library support:
--enable-avisynth enable reading of AviSynth script files [no]
--disable-bzlib disable bzlib [autodetect]
- --enable-fontconfig enable fontconfig
- --enable-frei0r enable frei0r video filtering
- --enable-gnutls enable gnutls [no]
+ --enable-fontconfig enable fontconfig, useful for drawtext filter [no]
+ --enable-frei0r enable frei0r video filtering [no]
+ --enable-gnutls enable gnutls, needed for https support
+ if openssl is not used [no]
--disable-iconv disable iconv [autodetect]
- --enable-ladspa enable LADSPA audio filtering
+ --enable-ladspa enable LADSPA audio filtering [no]
--enable-libaacplus enable AAC+ encoding via libaacplus [no]
- --enable-libass enable libass subtitles rendering [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
+ --enable-libcaca enable textual display using libcaca [no]
--enable-libcelt enable CELT decoding via libcelt [no]
- --enable-libcdio enable audio CD grabbing with libcdio
+ --enable-libcdio enable audio CD grabbing with libcdio [no]
--enable-libdc1394 enable IIDC-1394 grabbing using libdc1394
and libraw1394 [no]
--enable-libfaac enable AAC encoding via libfaac [no]
--enable-libfdk-aac enable AAC de/encoding via libfdk-aac [no]
--enable-libflite enable flite (voice synthesis) support via libflite [no]
- --enable-libfreetype enable libfreetype [no]
- --enable-libfribidi enable libfribidi [no]
+ --enable-libfreetype enable libfreetype, needed for drawtext filter [no]
+ --enable-libfribidi enable libfribidi, improves drawtext filter [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-libzvbi enable teletext support via libzvbi [no]
--disable-lzma disable lzma [autodetect]
--enable-decklink enable Blackmagick DeckLink I/O support [no]
+ --enable-nvenc enable NVIDIA NVENC support [no]
--enable-openal enable OpenAL 1.1 capture support [no]
--enable-opencl enable OpenCL code
--enable-opengl enable OpenGL rendering [no]
- --enable-openssl enable openssl [no]
+ --enable-openssl enable openssl, needed for https support
+ if gnutls is not used [no]
--disable-sdl disable sdl [autodetect]
--enable-x11grab enable X11 grabbing (legacy) [no]
--disable-xlib disable xlib [autodetect]
check_lib_cpp "$headers" "$classes" "$@" || die "ERROR: $name not found"
}
-require_pkg_config(){
+use_pkg_config(){
pkg="$1"
- check_pkg_config "$@" || die "ERROR: $pkg not found"
+ check_pkg_config "$@" || return 1
add_cflags $(get_safe ${pkg}_cflags)
add_extralibs $(get_safe ${pkg}_libs)
}
+require_pkg_config(){
+ use_pkg_config "$@" || die "ERROR: $pkg not found using pkg-config$pkg_config_fail_message"
+}
+
require_libfreetype(){
log require_libfreetype "$@"
pkg="freetype2"
libzmq
libzvbi
lzma
+ nvenc
openal
opencl
opengl
perl
pod2man
sdl
+ section_data_rel_ro
texi2html
threads
vdpau_x11
libwebp_encoder_deps="libwebp"
libx264_encoder_deps="libx264"
libx264rgb_encoder_deps="libx264"
+libx264rgb_encoder_select="libx264_encoder"
libx265_encoder_deps="libx265"
libxavs_encoder_deps="libxavs"
libxvid_encoder_deps="libxvid"
libutvideo_decoder_deps="libutvideo"
libutvideo_encoder_deps="libutvideo"
libzvbi_teletext_decoder_deps="libzvbi"
+nvenc_encoder_deps="nvenc"
# demuxers / muxers
ac3_demuxer_select="ac3_parser"
mmf_muxer_select="riffenc"
mov_demuxer_select="riffdec"
mov_demuxer_suggest="zlib"
-mov_muxer_select="riffenc rtpenc_chain ac3_parser"
+mov_muxer_select="riffenc rtpenc_chain"
mp3_demuxer_select="mpegaudio_parser"
mp4_muxer_select="mov_muxer"
mpegts_muxer_select="adts_muxer latm_muxer"
ebur128_filter_deps="gpl"
flite_filter_deps="libflite"
frei0r_filter_deps="frei0r dlopen"
-frei0r_filter_extralibs='$ldl'
frei0r_src_filter_deps="frei0r dlopen"
-frei0r_src_filter_extralibs='$ldl'
geq_filter_deps="gpl"
histeq_filter_deps="gpl"
hqdn3d_filter_deps="gpl"
interlace_filter_deps="gpl"
kerndeint_filter_deps="gpl"
ladspa_filter_deps="ladspa dlopen"
-ladspa_filter_extralibs='$ldl'
mcdeint_filter_deps="avcodec gpl"
movie_filter_deps="avcodec avformat"
mp_filter_deps="gpl avcodec swscale"
pixfmts_super2xsai_test_deps="super2xsai_filter"
tinterlace_merge_test_deps="tinterlace_filter"
tinterlace_pad_test_deps="tinterlace_filter"
+uspp_filter_deps="gpl avcodec"
zmq_filter_deps="libzmq"
zoompan_filter_deps="swscale"
enabled cross_compile || host_cc_default=$cc
set_default host_cc
+pkg_config_fail_message=""
if ! $pkg_config --version >/dev/null 2>&1; then
warn "$pkg_config not found, library detection may fail."
pkg_config=false
+elif is_in -static $cc $LDFLAGS && ! is_in --static $pkg_config $pkg_config_flags; then
+ pkg_config_fail_message="
+Note: When building a static binary, add --pkg-config-flags=\"--static\"."
fi
if test $doxygen != $doxygen_default && \
;;
android)
disable symver
+ enable section_data_rel_ro
SLIB_INSTALL_NAME='$(SLIBNAME)'
SLIB_INSTALL_LINKS=
# soname not set on purpose
;;
linux)
enable dv1394
+ enable section_data_rel_ro
;;
irix*)
target_os=irix
die_license_disabled nonfree libaacplus
die_license_disabled nonfree libfaac
+die_license_disabled nonfree nvenc
enabled gpl && die_license_disabled_gpl nonfree libfdk_aac
enabled gpl && die_license_disabled_gpl nonfree openssl
ldl=-ldl
fi
+frei0r_filter_extralibs='$ldl'
+frei0r_src_filter_extralibs='$ldl'
+ladspa_filter_extralibs='$ldl'
+nvenc_encoder_extralibs='$ldl'
+
if ! disabled network; then
check_func getaddrinfo $network_extralibs
check_func getservbyport $network_extralibs
enabled librtmp && require_pkg_config librtmp librtmp/rtmp.h RTMP_Socket
enabled libschroedinger && require_pkg_config schroedinger-1.0 schroedinger/schro.h schro_init
enabled libshine && require_pkg_config shine shine/layer3.h shine_encode_buffer
-enabled libsmbclient && { { check_pkg_config smbclient libsmbclient.h smbc_init &&
- require_pkg_config smbclient libsmbclient.h smbc_init; } ||
- require smbclient libsmbclient.h smbc_init -lsmbclient; }
+enabled libsmbclient && { use_pkg_config smbclient libsmbclient.h smbc_init ||
+ require smbclient libsmbclient.h smbc_init -lsmbclient; }
enabled libsoxr && require libsoxr soxr.h soxr_create -lsoxr
enabled libssh && require_pkg_config libssh libssh/sftp.h sftp_init
enabled libspeex && require_pkg_config speex speex/speex.h speex_decoder_init -lspeex
enabled libvpx_vp9_encoder && { check_lib2 "vpx/vpx_encoder.h vpx/vp8cx.h" "vpx_codec_vp9_cx VP9E_SET_AQ_MODE" -lvpx || disable libvpx_vp9_encoder; } }
enabled libwavpack && require libwavpack wavpack/wavpack.h WavpackOpenFileOutput -lwavpack
enabled libwebp && require_pkg_config "libwebp >= 0.2.0" webp/encode.h WebPGetEncoderVersion
-enabled libx264 && { { check_pkg_config x264 "stdint.h x264.h" x264_encoder_encode &&
- require_pkg_config x264 "stdint.h x264.h" x264_encoder_encode; } ||
+enabled libx264 && { use_pkg_config x264 "stdint.h x264.h" x264_encoder_encode ||
{ require libx264 x264.h x264_encoder_encode -lx264 &&
warn "using libx264 without pkg-config"; } } &&
{ check_cpp_condition x264.h "X264_BUILD >= 118" ||
enabled libxvid && require libxvid xvid.h xvid_global -lxvidcore
enabled libzmq && require_pkg_config libzmq zmq.h zmq_ctx_new
enabled libzvbi && require libzvbi libzvbi.h vbi_decoder_new -lzvbi
+enabled nvenc && { check_header nvEncodeAPI.h || die "ERROR: nvEncodeAPI.h not found."; } &&
+ { [ $target_os != cygwin ] || die "ERROR: NVENC is not supported on Cygwin currently."; }
enabled openal && { { for al_libs in "${OPENAL_LIBS}" "-lopenal" "-lOpenAL32"; do
check_lib 'AL/al.h' alGetError "${al_libs}" && break; done } ||
die "ERROR: openal not found"; } &&
enabled showspectrum_filter && prepend avfilter_deps "avcodec"
enabled smartblur_filter && prepend avfilter_deps "swscale"
enabled subtitles_filter && prepend avfilter_deps "avformat avcodec"
+enabled uspp_filter && prepend avfilter_deps "avcodec"
enabled lavfi_indev && prepend avdevice_deps "avfilter"