diff options
author | Måns Rullgård <mans@mansr.com> | 2009-07-15 18:33:12 +0000 |
---|---|---|
committer | Måns Rullgård <mans@mansr.com> | 2009-07-15 18:33:12 +0000 |
commit | 89e053f83db596c9263fd9d8cae6f4e15a9b4d49 (patch) | |
tree | 251ce363194d6c51881730315a46702ec5a1ea2c | |
parent | bd20afc4017f07325045fbb2390561985fa85028 (diff) | |
download | ffmpeg-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
-rwxr-xr-x | configure | 15 |
1 files changed, 8 insertions, 7 deletions
@@ -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 |