Index: patched-ffmpeg-mt/configure |
=================================================================== |
--- patched-ffmpeg-mt/configure (revision 41250) |
+++ patched-ffmpeg-mt/configure (working copy) |
@@ -82,6 +82,7 @@ |
--disable-doc do not build documentation |
--disable-ffmpeg disable ffmpeg build |
--disable-ffplay disable ffplay build |
+ --disable-ffprobe disable ffprobe build |
--disable-ffserver disable ffserver build |
--disable-avdevice disable libavdevice build |
--disable-avcodec disable libavcodec build |
@@ -668,6 +669,18 @@ |
EOF |
} |
+check_mathfunc(){ |
+ log check_mathfunc "$@" |
+ func=$1 |
+ shift |
+ disable $func |
+ check_ld "$@" <<EOF && enable $func |
+#include <math.h> |
+float foo(float f) { return $func(f); } |
+int main(void){ return 0; } |
+EOF |
+} |
+ |
check_func_headers(){ |
log check_func_headers "$@" |
headers=$1 |
@@ -878,6 +891,7 @@ |
fastdiv |
ffmpeg |
ffplay |
+ ffprobe |
ffserver |
fft |
golomb |
@@ -903,6 +917,7 @@ |
libx264 |
libxvid |
lpc |
+ lsp |
mdct |
memalign_hack |
mlib |
@@ -952,6 +967,7 @@ |
sh4 |
sparc |
sparc64 |
+ tomi |
x86 |
x86_32 |
x86_64 |
@@ -1013,8 +1029,10 @@ |
fork |
getaddrinfo |
gethrtime |
+ GetProcessMemoryInfo |
GetProcessTimes |
getrusage |
+ struct_rusage_ru_maxrss |
inet_aton |
inline_asm |
isatty |
@@ -1022,6 +1040,8 @@ |
libdc1394_1 |
libdc1394_2 |
llrint |
+ local_aligned_16 |
+ local_aligned_8 |
log2 |
log2f |
loongson |
@@ -1043,6 +1063,7 @@ |
socklen_t |
soundcard_h |
poll_h |
+ setrlimit |
struct_addrinfo |
struct_ipv6_mreq |
struct_sockaddr_in6 |
@@ -1115,6 +1136,7 @@ |
malloc_prefix |
nm |
source_path |
+ strip |
sysinclude |
sysroot |
target_exec |
@@ -1159,18 +1181,24 @@ |
need_memalign="altivec neon sse" |
inline_asm_deps="!tms470" |
+# subsystems |
+mdct_select="fft" |
+rdft_select="fft" |
+ |
# decoders / encoders / hardware accelerators |
-aac_decoder_select="fft mdct aac_parser" |
-aac_encoder_select="fft mdct" |
-ac3_decoder_select="fft mdct ac3_parser" |
+aac_decoder_select="mdct rdft aac_parser" |
+aac_encoder_select="mdct" |
+ac3_decoder_select="mdct ac3_parser" |
alac_encoder_select="lpc" |
-atrac3_decoder_select="fft mdct" |
-binkaudio_dct_decoder_select="fft mdct rdft dct" |
-binkaudio_rdft_decoder_select="fft mdct rdft" |
+amrnb_decoder_select="lsp" |
+atrac1_decoder_select="mdct" |
+atrac3_decoder_select="mdct" |
+binkaudio_dct_decoder_select="mdct rdft dct" |
+binkaudio_rdft_decoder_select="mdct rdft" |
cavs_decoder_select="golomb" |
-cook_decoder_select="fft mdct" |
+cook_decoder_select="mdct" |
cscd_decoder_suggest="zlib" |
-dca_decoder_select="fft mdct" |
+dca_decoder_select="mdct" |
dnxhd_encoder_select="aandct" |
dxa_decoder_select="zlib" |
eac3_decoder_select="ac3_decoder" |
@@ -1227,11 +1255,12 @@ |
msmpeg4v2_encoder_select="h263_encoder" |
msmpeg4v3_decoder_select="h263_decoder" |
msmpeg4v3_encoder_select="h263_encoder" |
-nellymoser_decoder_select="fft mdct" |
-nellymoser_encoder_select="fft mdct" |
+nellymoser_decoder_select="mdct" |
+nellymoser_encoder_select="mdct" |
png_decoder_select="zlib" |
png_encoder_select="zlib" |
-qdm2_decoder_select="fft mdct rdft" |
+qcelp_decoder_select="lsp" |
+qdm2_decoder_select="mdct rdft" |
rv10_decoder_select="h263_decoder" |
rv10_encoder_select="h263_encoder" |
rv20_decoder_select="h263_decoder" |
@@ -1239,9 +1268,12 @@ |
rv30_decoder_select="golomb" |
rv40_decoder_select="golomb" |
shorten_decoder_select="golomb" |
+sipr_decoder_select="lsp" |
+snow_encoder_select="aandct" |
sonic_decoder_select="golomb" |
sonic_encoder_select="golomb" |
sonic_ls_encoder_select="golomb" |
+svq1_encoder_select="aandct" |
svq3_decoder_select="golomb" |
svq3_decoder_suggest="zlib" |
theora_decoder_select="vp3_decoder" |
@@ -1249,6 +1281,7 @@ |
tiff_encoder_suggest="zlib" |
truehd_decoder_select="mlp_decoder" |
tscc_decoder_select="zlib" |
+twinvq_decoder_select="mdct lsp" |
vc1_decoder_select="h263_decoder" |
vc1_dxva2_hwaccel_deps="dxva2api_h DXVA_PictureParameters_wDecodedPictureIndex" |
vc1_dxva2_hwaccel_select="dxva2 vc1_decoder" |
@@ -1256,14 +1289,16 @@ |
vc1_vaapi_hwaccel_select="vaapi vc1_decoder" |
vc1_vdpau_decoder_deps="vdpau_vdpau_h vdpau_vdpau_x11_h" |
vc1_vdpau_decoder_select="vdpau vc1_decoder" |
-vorbis_decoder_select="fft mdct" |
-vorbis_encoder_select="fft mdct" |
+vorbis_decoder_select="mdct" |
+vorbis_encoder_select="mdct" |
vp6a_decoder_select="vp6_decoder" |
vp6f_decoder_select="vp6_decoder" |
-wmav1_decoder_select="fft mdct" |
-wmav1_encoder_select="fft mdct" |
-wmav2_decoder_select="fft mdct" |
-wmav2_encoder_select="fft mdct" |
+wmapro_decoder_select="mdct" |
+wmav1_decoder_select="mdct" |
+wmav1_encoder_select="mdct" |
+wmav2_decoder_select="mdct" |
+wmav2_encoder_select="mdct" |
+wmavoice_decoder_select="lsp" |
wmv1_decoder_select="h263_decoder" |
wmv1_encoder_select="h263_encoder" |
wmv2_decoder_select="h263_decoder" |
@@ -1325,6 +1360,8 @@ |
ogg_demuxer_select="golomb" |
psp_muxer_select="mov_muxer" |
rtsp_demuxer_deps="sdp_demuxer" |
+rtsp_muxer_deps="sdp_demuxer" |
+rtsp_muxer_select="rtp_muxer" |
sdp_demuxer_deps="rtp_protocol mpegts_demuxer" |
spdif_muxer_select="aac_parser" |
tg2_muxer_select="mov_muxer" |
@@ -1373,6 +1410,8 @@ |
# programs |
ffmpeg_deps="avcodec avformat swscale" |
ffplay_deps="avcodec avformat swscale sdl" |
+ffplay_select="rdft" |
+ffprobe_deps="avcodec avformat" |
ffserver_deps="avformat ffm_muxer rtp_protocol rtsp_demuxer" |
ffserver_extralibs='$ldl' |
@@ -1400,18 +1439,18 @@ |
nm_default="nm" |
objformat="elf" |
ranlib="ranlib" |
-strip="strip" |
+strip_default="strip" |
yasmexe="yasm" |
nm_opts='-g' |
# machine |
-arch=$(uname -m) |
+arch_default=$(uname -m) |
cpu="generic" |
# OS |
-target_os=$(tolower $(uname -s)) |
-host_os=$target_os |
+target_os_default=$(tolower $(uname -s)) |
+host_os=$target_os_default |
# configurable options |
enable avcodec |
@@ -1424,6 +1463,7 @@ |
enable fastdiv |
enable ffmpeg |
enable ffplay |
+enable ffprobe |
enable ffserver |
enable mpegaudio_hp |
enable network |
@@ -1446,7 +1486,7 @@ |
SLIBNAME='$(SLIBPREF)$(FULLNAME)$(SLIBSUF)' |
SLIBNAME_WITH_VERSION='$(SLIBNAME).$(LIBVERSION)' |
SLIBNAME_WITH_MAJOR='$(SLIBNAME).$(LIBMAJOR)' |
-LIB_INSTALL_EXTRA_CMD='$(RANLIB) "$(LIBDIR)/$(LIBNAME)"' |
+LIB_INSTALL_EXTRA_CMD='$$(RANLIB) "$(LIBDIR)/$(LIBNAME)"' |
CC_O='-o $@' |
@@ -1585,15 +1625,22 @@ |
test -n "$cross_prefix" && enable cross_compile |
+if enabled cross_compile; then |
+ test -n "$arch" && test -n "$target_os" || |
+ die "Must specify target arch and OS when cross-compiling" |
+fi |
+ |
+set_default arch target_os |
+ |
ar="${cross_prefix}${ar}" |
cc_default="${cross_prefix}${cc_default}" |
nm_default="${cross_prefix}${nm_default}" |
ranlib="${cross_prefix}${ranlib}" |
-strip="${cross_prefix}${strip}" |
+strip_default="${cross_prefix}${strip_default}" |
sysinclude_default="${sysroot}/usr/include" |
-set_default cc nm sysinclude |
+set_default cc nm strip sysinclude |
enabled cross_compile || host_cc_default=$cc |
set_default host_cc |
@@ -1664,7 +1711,7 @@ |
CC_DEPFLAGS='-MMD -MF $(@:.o=.d) -MT $@' |
AS_DEPFLAGS='-MMD -MF $(@:.o=.d) -MT $@' |
fi |
- speed_cflags='-O2' |
+ speed_cflags='-O3' |
size_cflags='-Os' |
elif $cc --version 2>/dev/null | grep -q Intel; then |
cc_type=icc |
@@ -1815,8 +1862,8 @@ |
add_ldflags --sysroot="$sysroot" |
;; |
clang) |
- add_cppflags -isysroot="$sysroot" |
- add_ldflags -isysroot="$sysroot" |
+ add_cppflags -isysroot "$sysroot" |
+ add_ldflags -isysroot "$sysroot" |
;; |
esac |
fi |
@@ -2217,7 +2264,8 @@ |
;; |
gnu) |
;; |
- |
+ none) |
+ ;; |
*) |
die "Unknown OS '$target_os'." |
;; |
@@ -2356,6 +2404,8 @@ |
elif enabled ppc; then |
+ enable local_aligned_8 local_aligned_16 |
+ |
check_asm dcbzl '"dcbzl 0, 1"' |
check_asm ppc4xx '"maclhw r10, r11, r12"' |
check_asm xform_asm '"lwzx %1, %y0" :: "Z"(*(int*)0), "r"(0)' |
@@ -2390,6 +2440,8 @@ |
elif enabled x86; then |
+ enable local_aligned_8 local_aligned_16 |
+ |
# check whether EBP is available on x86 |
# As 'i' is stored on the stack, this program will crash |
# if the base pointer is used to access it because the |
@@ -2454,13 +2506,16 @@ |
check_func getaddrinfo $network_extralibs |
check_func gethrtime |
check_func getrusage |
+check_struct "sys/time.h sys/resource.h" "struct rusage" ru_maxrss |
check_func inet_aton $network_extralibs |
check_func isatty |
check_func ${malloc_prefix}memalign && enable memalign |
check_func mkstemp |
check_func ${malloc_prefix}posix_memalign && enable posix_memalign |
+check_func setrlimit |
check_func_headers io.h setmode |
check_func_headers lzo/lzo1x.h lzo1x_999_compress |
+check_lib2 "windows.h psapi.h" GetProcessMemoryInfo -lpsapi |
check_func_headers windows.h GetProcessTimes |
check_func_headers windows.h VirtualAlloc |
@@ -2519,16 +2574,16 @@ |
check_lib math.h sin -lm |
check_lib va/va.h vaInitialize -lva |
-check_func exp2 |
-check_func exp2f |
-check_func llrint |
-check_func log2 |
-check_func log2f |
-check_func lrint |
-check_func lrintf |
-check_func round |
-check_func roundf |
-check_func truncf |
+check_mathfunc exp2 |
+check_mathfunc exp2f |
+check_mathfunc llrint |
+check_mathfunc log2 |
+check_mathfunc log2f |
+check_mathfunc lrint |
+check_mathfunc lrintf |
+check_mathfunc round |
+check_mathfunc roundf |
+check_mathfunc truncf |
# these are off by default, so fail if requested and not available |
enabled avisynth && require2 vfw32 "windows.h vfw.h" AVIFileInit -lavifil32 |
@@ -2537,7 +2592,7 @@ |
require libdirac libdirac_encoder/dirac_encoder.h dirac_encoder_init $(pkg-config --libs dirac) |
enabled libfaac && require2 libfaac "stdint.h faac.h" faacEncGetVersion -lfaac |
enabled libfaad && require2 libfaad faad.h faacDecOpen -lfaad |
-enabled libgsm && require libgsm gsm.h gsm_create -lgsm |
+enabled libgsm && require libgsm gsm/gsm.h gsm_create -lgsm |
enabled libmp3lame && require libmp3lame lame/lame.h lame_init -lmp3lame -lm |
enabled libnut && require libnut libnut.h nut_demuxer_init -lnut |
enabled libopencore_amrnb && require libopencore_amrnb opencore-amrnb/interf_dec.h Decoder_Interface_init -lopencore-amrnb -lm |
@@ -2652,6 +2707,7 @@ |
check_cflags -Wwrite-strings |
check_cflags -Wtype-limits |
check_cflags -Wundef |
+check_cflags -Wmissing-prototypes |
enabled extra_warnings && check_cflags -Winline |
# add some linker flags |
@@ -2698,11 +2754,14 @@ |
add_cflags -msg_disable unreachcode |
elif enabled gcc; then |
check_cflags -fno-tree-vectorize |
+ check_cflags -Werror=implicit |
+ check_cflags -Werror=missing-prototypes |
elif enabled clang; then |
check_cflags -Qunused-arguments |
elif enabled armcc; then |
# 2523: use of inline assembler is deprecated |
add_cflags -Wrvct,--diag_suppress=2523 |
+ add_cflags -Wrvct,--diag_suppress=1207 |
elif enabled tms470; then |
add_cflags -pds=824 -pds=837 |
fi |
@@ -2912,8 +2971,10 @@ |
LD=$ld |
DEPCC=$dep_cc |
YASM=$yasmexe |
+YASMDEP=$yasmexe |
AR=$ar |
RANLIB=$ranlib |
+CP=cp -p |
LN_S=$ln_s |
STRIP=$strip |
CPPFLAGS=$CPPFLAGS |
@@ -2949,6 +3010,7 @@ |
SDL_CFLAGS=$sdl_cflags |
LIB_INSTALL_EXTRA_CMD=$LIB_INSTALL_EXTRA_CMD |
EXTRALIBS=$extralibs |
+INSTALL=install |
EOF |
get_version(){ |