aboutsummaryrefslogtreecommitdiffstats
path: root/configure
diff options
context:
space:
mode:
authorMåns Rullgård <mans@mansr.com>2009-07-15 18:33:12 +0000
committerMåns Rullgård <mans@mansr.com>2009-07-15 18:33:12 +0000
commit89e053f83db596c9263fd9d8cae6f4e15a9b4d49 (patch)
tree251ce363194d6c51881730315a46702ec5a1ea2c /configure
parentbd20afc4017f07325045fbb2390561985fa85028 (diff)
downloadffmpeg-89e053f83db596c9263fd9d8cae6f4e15a9b4d49.tar.gz
Require aligned memory for everything that needs it
Altivec, NEON, and SSE require more alignment than standard malloc() guarantees, whereas MMX does not. Update checks to reflect this. Originally committed as revision 19438 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'configure')
-rwxr-xr-xconfigure15
1 files changed, 8 insertions, 7 deletions
diff --git a/configure b/configure
index 8292e6b3f4..d7acfdb2db 100755
--- a/configure
+++ b/configure
@@ -1040,6 +1040,8 @@ sse_deps="mmx"
ssse3_deps="sse"
vis_deps="sparc"
+need_memalign="altivec neon sse"
+
# decoders / encoders / hardware accelerators
aac_decoder_select="fft mdct"
ac3_decoder_select="fft mdct"
@@ -1668,21 +1670,21 @@ case $target_os in
oss_outdev_extralibs="-lossaudio"
;;
openbsd)
- disable need_memalign
+ enable malloc_aligned
LIBOBJFLAGS='$(PIC)'
SHFLAGS='-shared'
oss_indev_extralibs="-lossaudio"
oss_outdev_extralibs="-lossaudio"
;;
freebsd|dragonfly)
- disable need_memalign
+ enable malloc_aligned
;;
bsd/os)
osextralibs="-lpoll -lgnugetopt"
strip="strip -d"
;;
darwin)
- disable need_memalign
+ enable malloc_aligned
SHFLAGS='-dynamiclib -Wl,-single_module -Wl,-install_name,$(SHLIBDIR)/$(SLIBNAME),-current_version,$(LIBVERSION),-compatibility_version,$(LIBMAJOR) -Wl,-read_only_relocs,suppress'
strip="strip -x"
FFLDFLAGS="-Wl,-dynamic,-search_paths_first"
@@ -1697,7 +1699,7 @@ case $target_os in
target_os=mingw32
LIBTARGET=i386
if enabled x86_64; then
- disable need_memalign
+ enable malloc_aligned
LIBTARGET=x64
elif enabled arm; then
LIBTARGET=arm
@@ -1840,8 +1842,6 @@ enabled version3 && { enabled gpl && enable gplv3 || enable lgplv3; }
check_deps $ARCH_EXT_LIST
-test -z "$need_memalign" && need_memalign="$mmx"
-
#Darwin CC versions
if test $target_os = darwin; then
if enabled xlc; then
@@ -2091,7 +2091,8 @@ check_header vdpau/vdpau.h
check_header vdpau/vdpau_x11.h
check_header X11/extensions/XvMClib.h
-if enabled sse && { ! enabled_any memalign memalign_hack posix_memalign && enabled need_memalign ;} ; then
+if ! enabled_any memalign memalign_hack posix_memalign malloc_aligned &&
+ enabled_any $need_memalign ; then
die "Error, no aligned memory allocator but SSE enabled, disable it or use --enable-memalign-hack."
fi