--disable-avresample disable libavresample build [no]
--disable-pthreads disable pthreads [auto]
--disable-w32threads disable Win32 threads [auto]
- --enable-x11grab enable X11 grabbing [no]
--disable-network disable network support [no]
--disable-dct disable DCT code
--disable-lsp disable LSP code
--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-zlib enable zlib [autodetect]
Advanced options (experts only):
done
}
+sanitize_var_name(){
+ echo $@ | sed 's/[^A-Za-z0-9_]/_/g'
+}
+
set_safe(){
var=$1
shift
- eval $(echo "$var" | sed 's/[^A-Za-z0-9_]/_/g')='$*'
+ eval $(sanitize_var_name "$var")='$*'
}
get_safe(){
- eval echo \$$(echo "$1" | sed 's/[^A-Za-z0-9_]/_/g')
+ eval echo \$$(sanitize_var_name "$1")
}
pushvar(){
}
check_struct(){
- log check_type "$@"
+ log check_struct "$@"
headers=$1
struct=$2
member=$3
enable_safe "${struct}_${member}"
}
+check_builtin(){
+ log check_builtin "$@"
+ name=$1
+ headers=$2
+ builtin=$3
+ shift 3
+ disable "$name"
+ check_code ld "$headers" "$builtin" "$@" && enable "$name"
+}
+
require(){
name="$1"
header="$2"
protocols
"
+EXTERNAL_LIBRARY_LIST="
+ avisynth
+ bzlib
+ frei0r
+ gnutls
+ libcdio
+ libdc1394
+ libfaac
+ libfdk_aac
+ libfreetype
+ libgsm
+ libilbc
+ libmp3lame
+ libopencore_amrnb
+ libopencore_amrwb
+ libopencv
+ libopenjpeg
+ libopus
+ libpulse
+ librtmp
+ libschroedinger
+ libspeex
+ libtheora
+ libvo_aacenc
+ libvo_amrwbenc
+ libvorbis
+ libvpx
+ libx264
+ libxavs
+ libxvid
+ openssl
+ x11grab
+ zlib
+"
+
HWACCEL_LIST="
dxva2
vaapi
CONFIG_LIST="
$COMPONENT_LIST
+ $EXTERNAL_LIBRARY_LIST
$HWACCEL_LIST
$LIBRARY_LIST
$PROGRAM_LIST
- avisynth
- bzlib
dct
doc
fft
- frei0r
- gnutls
gpl
gray
hardcoded_tables
- libcdio
- libdc1394
- libfaac
- libfdk_aac
- libfreetype
- libgsm
- libilbc
- libmp3lame
- libopencore_amrnb
- libopencore_amrwb
- libopencv
- libopenjpeg
- libopus
- libpulse
- librtmp
- libschroedinger
- libspeex
- libtheora
- libvo_aacenc
- libvo_amrwbenc
- libvorbis
- libvpx
- libx264
- libxavs
- libxvid
lsp
lzo
mdct
memalign_hack
network
nonfree
- openssl
pic
rdft
runtime_cpudetect
thumb
version3
xmm_clobber_test
- x11grab
- zlib
"
THREADS_LIST='
loongson
machine_ioctl_bt848_h
machine_ioctl_meteor_h
+ machine_rw_barrier
malloc_h
MapViewOfFile
memalign
+ MemoryBarrier
mkstemp
mm_empty
mmap
struct_v4l2_frmivalenum_discrete
symver_asm_label
symver_gnu_asm
+ sync_synchronize
sysconf
sysctl
sys_mman_h
atrac3_decoder_select="mdct"
binkaudio_dct_decoder_select="mdct rdft dct sinewin"
binkaudio_rdft_decoder_select="mdct rdft sinewin"
-cavs_decoder_select="golomb mpegvideo"
+cavs_decoder_select="golomb h264chroma mpegvideo videodsp"
comfortnoise_encoder_select="lpc"
cook_decoder_select="mdct sinewin"
cscd_decoder_select="lzo"
dxa_decoder_select="zlib"
eac3_decoder_select="ac3_decoder"
eac3_encoder_select="ac3_encoder"
-eamad_decoder_select="aandcttables error_resilience mpegvideo"
+eamad_decoder_select="aandcttables mpegvideo"
eatgq_decoder_select="aandcttables"
-eatqi_decoder_select="aandcttables error_resilience mpegvideo"
+eatqi_decoder_select="aandcttables mpegvideo"
ffv1_decoder_select="golomb rangecoder"
ffv1_encoder_select="rangecoder"
ffvhuff_encoder_select="huffman"
h261_decoder_select="error_resilience mpegvideo"
h261_encoder_select="aandcttables mpegvideoenc"
h263_decoder_select="error_resilience h263_parser mpegvideo"
-h263_encoder_select="aandcttables error_resilience mpegvideoenc"
+h263_encoder_select="aandcttables mpegvideoenc"
h263i_decoder_select="h263_decoder"
h263p_encoder_select="h263_encoder"
-h264_decoder_select="error_resilience golomb h264chroma h264dsp h264pred h264qpel mpegvideo"
+h264_decoder_select="error_resilience golomb h264chroma h264dsp h264pred h264qpel videodsp"
huffyuv_encoder_select="huffman"
iac_decoder_select="fft mdct sinewin"
imc_decoder_select="fft mdct sinewin"
mpeg_xvmc_decoder_deps="X11_extensions_XvMClib_h"
mpeg_xvmc_decoder_select="mpegvideo_decoder"
mpeg1video_decoder_select="error_resilience mpegvideo"
-mpeg1video_encoder_select="aandcttables error_resilience mpegvideoenc"
+mpeg1video_encoder_select="aandcttables mpegvideoenc"
mpeg2video_decoder_select="error_resilience mpegvideo"
-mpeg2video_encoder_select="aandcttables error_resilience mpegvideoenc"
+mpeg2video_encoder_select="aandcttables mpegvideoenc"
mpeg4_decoder_select="h263_decoder mpeg4video_parser"
mpeg4_encoder_select="h263_encoder"
msmpeg4v1_decoder_select="h263_decoder"
msmpeg4v2_encoder_select="h263_encoder"
msmpeg4v3_decoder_select="h263_decoder"
msmpeg4v3_encoder_select="h263_encoder"
-mss2_decoder_select="vc1_decoder"
+mss2_decoder_select="error_resilience vc1_decoder"
nellymoser_decoder_select="mdct sinewin"
nellymoser_encoder_select="audio_frame_queue mdct sinewin"
nuv_decoder_select="lzo"
qdm2_decoder_select="mdct rdft mpegaudiodsp"
ra_144_encoder_select="audio_frame_queue lpc"
ralf_decoder_select="golomb"
-rv10_decoder_select="h263_decoder"
+rv10_decoder_select="error_resilience h263_decoder"
rv10_encoder_select="h263_encoder"
-rv20_decoder_select="h263_decoder"
+rv20_decoder_select="error_resilience h263_decoder"
rv20_encoder_select="h263_encoder"
-rv30_decoder_select="error_resilience golomb h264chroma h264pred h264qpel mpegvideo"
-rv40_decoder_select="error_resilience golomb h264chroma h264pred h264qpel mpegvideo"
+rv30_decoder_select="error_resilience golomb h264chroma h264pred h264qpel mpegvideo videodsp"
+rv40_decoder_select="error_resilience golomb h264chroma h264pred h264qpel mpegvideo videodsp"
shorten_decoder_select="golomb"
sipr_decoder_select="lsp"
-svq1_decoder_select="error_resilience mpegvideo"
-svq1_encoder_select="aandcttables error_resilience mpegvideoenc"
-svq3_decoder_select="error_resilience golomb h264chroma h264dsp h264pred h264qpel mpegvideo"
+svq1_decoder_select="mpegvideo"
+svq1_encoder_select="aandcttables mpegvideoenc"
+svq3_decoder_select="error_resilience golomb h264chroma h264dsp h264pred h264qpel mpegvideo videodsp"
svq3_decoder_suggest="zlib"
theora_decoder_select="vp3_decoder"
tiff_decoder_suggest="zlib"
tscc_decoder_select="zlib"
twinvq_decoder_select="mdct lsp sinewin"
utvideo_encoder_select="huffman"
-vc1_decoder_select="h263_decoder h264chroma h264qpel"
+vc1_decoder_select="error_resilience h263_decoder h264chroma h264qpel"
vc1image_decoder_select="vc1_decoder"
vorbis_decoder_select="mdct"
vorbis_encoder_select="mdct"
vp3_decoder_select="vp3dsp videodsp"
-vp5_decoder_select="vp3dsp videodsp"
-vp6_decoder_select="huffman vp3dsp videodsp"
+vp5_decoder_select="h264chroma videodsp vp3dsp"
+vp6_decoder_select="h264chroma huffman videodsp vp3dsp"
vp6a_decoder_select="vp6_decoder"
vp6f_decoder_select="vp6_decoder"
vp8_decoder_select="h264pred videodsp"
wmavoice_decoder_select="lsp rdft dct mdct sinewin"
wmv1_decoder_select="h263_decoder"
wmv1_encoder_select="h263_encoder"
-wmv2_decoder_select="h263_decoder"
+wmv2_decoder_select="h263_decoder videodsp"
wmv2_encoder_select="h263_encoder"
wmv3_decoder_select="vc1_decoder"
wmv3image_decoder_select="wmv3_decoder"
wmv3_vdpau_hwaccel_select="vc1_vdpau_hwaccel"
# parsers
-h264_parser_select="error_resilience golomb h264chroma h264dsp h264pred h264qpel mpegvideo"
+h264_parser_select="error_resilience golomb h264chroma h264dsp h264pred h264qpel videodsp"
mpeg4video_parser_select="error_resilience mpegvideo"
mpegvideo_parser_select="error_resilience mpegvideo"
-vc1_parser_select="error_resilience mpegvideo"
+vc1_parser_select="mpegvideo"
# external libraries
libfaac_encoder_deps="libfaac"
cc_default="gcc"
host_cc_default="gcc"
cp_f="cp -f"
-ln_s="ln -sf"
+ln_s="ln -s -f"
nm_default="nm -g"
objformat="elf"
pkg_config_default=pkg-config
fi
_cflags_speed='-O3'
_cflags_size='-Os'
- elif $_cc --version 2>/dev/null | grep -q Intel; then
+ elif $_cc --version 2>/dev/null | grep -q ^icc; then
_type=icc
_ident=$($_cc --version | head -n1)
_depflags='-MMD'
network_extralibs='-lbsd'
exeobjs=compat/plan9/main.o
disable avserver
- ln_s='ln -s -f'
cp_f='cp'
;;
none)
elif enabled x86; then
- check_code ld intrin.h "__rdtsc()" && enable rdtsc
-
- check_code ld mmintrin.h "_mm_empty()" && enable mm_empty
+ check_builtin rdtsc intrin.h "__rdtsc()"
+ check_builtin mm_empty mmintrin.h "_mm_empty()"
enable local_aligned_8 local_aligned_16
check_func strptime
check_func strtok_r
check_func sched_getaffinity
+check_builtin sync_synchronize "" "__sync_synchronize()"
+check_builtin machine_rw_barrier mbarrier.h "__machine_rw_barrier()"
+check_builtin MemoryBarrier windows.h "MemoryBarrier()"
check_func sysconf
check_func sysctl
check_func usleep
# 11030: Warning unknown option --as-needed
# 10156: ignoring option '-export'; no argument required
check_ldflags -wd10156,11030
- # Allow to compile with optimizations
- check_ldflags -march=$cpu
# icc 11.0 and 11.1 work with ebp_available, but don't pass the test
enable ebp_available
if enabled x86_32; then
echo "threading support ${thread_type-no}"
echo "safe bitstream reader ${safe_bitstream_reader-no}"
echo "SDL support ${sdl-no}"
-echo "AVISynth enabled ${avisynth-no}"
-echo "frei0r enabled ${frei0r-no}"
-echo "gnutls enabled ${gnutls-no}"
-echo "libcdio support ${libcdio-no}"
-echo "libdc1394 support ${libdc1394-no}"
-echo "libfaac enabled ${libfaac-no}"
-echo "libfdk-aac enabled ${libfdk_aac-no}"
-echo "libgsm enabled ${libgsm-no}"
-echo "libilbc enabled ${libilbc-no}"
-echo "libmp3lame enabled ${libmp3lame-no}"
-echo "libopencore-amrnb support ${libopencore_amrnb-no}"
-echo "libopencore-amrwb support ${libopencore_amrwb-no}"
-echo "libopencv support ${libopencv-no}"
-echo "libopenjpeg enabled ${libopenjpeg-no}"
-echo "libopus enabled ${libopus-no}"
-echo "libpulse enabled ${libpulse-no}"
-echo "librtmp enabled ${librtmp-no}"
-echo "libschroedinger enabled ${libschroedinger-no}"
-echo "libspeex enabled ${libspeex-no}"
-echo "libtheora enabled ${libtheora-no}"
-echo "libvo-aacenc support ${libvo_aacenc-no}"
-echo "libvo-amrwbenc support ${libvo_amrwbenc-no}"
-echo "libvorbis enabled ${libvorbis-no}"
-echo "libvpx enabled ${libvpx-no}"
-echo "libx264 enabled ${libx264-no}"
-echo "libxavs enabled ${libxavs-no}"
-echo "libxvid enabled ${libxvid-no}"
-echo "openssl enabled ${openssl-no}"
-echo "zlib enabled ${zlib-no}"
-echo "bzlib enabled ${bzlib-no}"
test -n "$random_seed" &&
echo "random seed ${random_seed}"
echo
+echo "External libraries:"
+print_enabled '' $EXTERNAL_LIBRARY_LIST | print_3_columns
+echo
+
for type in decoder encoder hwaccel parser demuxer muxer protocol filter bsf indev outdev; do
echo "Enabled ${type}s:"
eval list=\$$(toupper $type)_LIST