--extra-cflags=ECFLAGS add ECFLAGS to CFLAGS [$CFLAGS]
--extra-cxxflags=ECFLAGS add ECFLAGS to CXXFLAGS [$CXXFLAGS]
--extra-ldflags=ELDFLAGS add ELDFLAGS to LDFLAGS [$LDFLAGS]
+ --extra-ldexeflags=ELDFLAGS add ELDFLAGS to LDEXEFLAGS [$LDEXEFLAGS]
--extra-libs=ELIBS add ELIBS [$ELIBS]
--extra-version=STRING version string suffix []
--optflags=OPTFLAGS override optimization-related compiler flags
append LDFLAGS $($ldflags_filter "$@")
}
+add_ldexeflags(){
+ append LDEXEFLAGS $($ldflags_filter "$@")
+}
+
add_stripflags(){
append ASMSTRIPFLAGS "$@"
}
local_aligned_8
local_aligned_16
local_aligned_32
+ simd_align_16
"
BUILTIN_LIST="
winsock2_h
"
+INTRINSICS_LIST="
+ intrinsics_neon
+"
+
MATH_FUNCS="
atanf
atan2f
$HAVE_LIST_CMDLINE
$HAVE_LIST_PUB
$HEADERS_LIST
+ $INTRINSICS_LIST
$MATH_FUNCS
$SYSTEM_FUNCS
$THREADS_LIST
huffyuvdsp
huffyuvencdsp
idctdsp
+ iirfilter
intrax8
lgplv3
llauddsp
armv6t2_deps="arm"
armv8_deps="aarch64"
neon_deps_any="aarch64 arm"
+intrinsics_neon_deps="neon"
vfp_deps_any="aarch64 arm"
vfpv3_deps="vfp"
fast_64bit_if_any="aarch64 alpha ia64 mips64 parisc64 ppc64 sparc64 x86_64"
fast_clz_if_any="aarch64 alpha avr32 mips ppc x86"
fast_unaligned_if_any="aarch64 ppc x86"
-
-need_memalign="altivec neon sse"
+simd_align_16_if_any="altivec neon sse"
# system capabilities
# decoders / encoders
aac_decoder_select="mdct sinewin"
-aac_encoder_select="audio_frame_queue mdct sinewin"
+aac_encoder_select="audio_frame_queue iirfilter mdct sinewin"
aac_latm_decoder_select="aac_decoder aac_latm_parser"
ac3_decoder_select="ac3_parser ac3dsp bswapdsp mdct"
ac3_fixed_decoder_select="ac3_parser ac3dsp bswapdsp mdct"
mpc8_decoder_select="mpegaudiodsp"
mpeg_xvmc_decoder_deps="X11_extensions_XvMClib_h"
mpeg_xvmc_decoder_select="mpeg2video_decoder"
+mpegvideo_decoder_select="error_resilience mpeg_er mpegvideo"
mpeg1video_decoder_select="error_resilience mpeg_er mpegvideo"
mpeg1video_encoder_select="aandcttables mpegvideoenc h263dsp"
mpeg2video_decoder_select="error_resilience mpeg_er mpegvideo"
arch_default=$(uname -m)
fi
cpu="generic"
+intrinsics="none"
# configurable options
enable $PROGRAM_LIST
--extra-ldflags=*)
add_ldflags $optval
;;
+ --extra-ldexeflags=*)
+ add_ldexeflags $optval
+ ;;
--extra-libs=*)
add_extralibs $optval
;;
fi
+check_code cc arm_neon.h "int16x8_t test = vdupq_n_s16(0)" && enable intrinsics_neon
+
check_ldflags -Wl,--as-needed
if check_func dlopen; then
check_lib openjpeg.h opj_version -lopenjpeg -DOPJ_STATIC ||
die "ERROR: libopenjpeg not found"; }
enabled libopus && require_pkg_config opus opus_multistream.h opus_multistream_decoder_create
-enabled libpulse && require_pkg_config libpulse-simple pulse/simple.h pa_simple_new
+enabled libpulse && require_pkg_config libpulse pulse/pulseaudio.h pa_context_new
enabled libquvi && require_pkg_config libquvi quvi/quvi.h quvi_init
enabled librtmp && require_pkg_config librtmp librtmp/rtmp.h RTMP_Socket
enabled libschroedinger && require_pkg_config schroedinger-1.0 schroedinger/schro.h schro_init
enable dxva2_lib
! enabled_any memalign posix_memalign aligned_malloc &&
- enabled_any $need_memalign && enable memalign_hack
+ enabled simd_align_16 && enable memalign_hack
# add_dep lib dep
# -> enable ${lib}_deps_${dep}
merge_deps libavfilter $FILTER_LIST
+map 'enabled $v && intrinsics=${v#intrinsics_}' $INTRINSICS_LIST
+
for thread in $THREADS_LIST; do
if enabled $thread; then
test -n "$thread_type" &&
endif
CC_IDENT=$cc_ident
ARCH=$arch
+INTRINSICS=$intrinsics
CC=$cc
CXX=$cxx
AS=$as
DEPWINDRES=$dep_cc
DOXYGEN=$doxygen
LDFLAGS=$LDFLAGS
+LDEXEFLAGS=$LDEXEFLAGS
SHFLAGS=$(echo $($ldflags_filter $SHFLAGS))
ASMSTRIPFLAGS=$ASMSTRIPFLAGS
YASMFLAGS=$YASMFLAGS
pkgconfig_generate libavdevice "FFmpeg device handling library" "$LIBAVDEVICE_VERSION" "$extralibs"
pkgconfig_generate libavfilter "FFmpeg audio/video filtering library" "$LIBAVFILTER_VERSION" "$extralibs"
pkgconfig_generate libpostproc "FFmpeg postprocessing library" "$LIBPOSTPROC_VERSION" ""
-pkgconfig_generate libavresample "Libav audio resampling library" "$LIBAVRESAMPLE_VERSION" "$extralibs"
+pkgconfig_generate libavresample "Libav audio resampling library" "$LIBAVRESAMPLE_VERSION" "$LIBM"
pkgconfig_generate libswscale "FFmpeg image rescaling library" "$LIBSWSCALE_VERSION" "$LIBM"
pkgconfig_generate libswresample "FFmpeg audio resampling library" "$LIBSWRESAMPLE_VERSION" "$LIBM"