[FFmpeg-cvslog] Drop memalign hack

Diego Biurrun git at videolan.org
Mon Mar 20 09:57:21 EET 2017


ffmpeg | branch: master | Diego Biurrun <diego at biurrun.de> | Thu Mar 24 20:55:19 2016 +0100| [4fb311c804098d78e5ce5f527f9a9c37536d3a08] | committer: Diego Biurrun

Drop memalign hack

It no longer serves a useful purpose.

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=4fb311c804098d78e5ce5f527f9a9c37536d3a08
---

 configure       |  7 -------
 libavutil/mem.c | 29 +++--------------------------
 2 files changed, 3 insertions(+), 33 deletions(-)

diff --git a/configure b/configure
index 660b062..80f39f3 100755
--- a/configure
+++ b/configure
@@ -294,7 +294,6 @@ Advanced options (experts only):
   --disable-safe-bitstream-reader
                            disable buffer boundary checking in bitreaders
                            (faster, but may crash)
-  --enable-memalign-hack   emulate memalign, interferes with memory debuggers
   --enable-sram            allow use of on-chip SRAM
 
 Optimization options (experts only):
@@ -1354,7 +1353,6 @@ CONFIG_LIST="
     $LIBRARY_LIST
     $PROGRAM_LIST
     $SUBSYSTEM_LIST
-    memalign_hack
     neon_clobber_test
     pic
     pod2man
@@ -1471,7 +1469,6 @@ ARCH_FEATURES="
     local_aligned_8
     local_aligned_16
     local_aligned_32
-    simd_align
     simd_align_16
     simd_align_32
 "
@@ -1884,7 +1881,6 @@ aligned_stack_if_any="aarch64 ppc x86"
 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"
-simd_align_if_any="simd_align_16 simd_align_32"
 simd_align_16_if_any="altivec neon sse"
 simd_align_32_if_any="avx"
 
@@ -5041,9 +5037,6 @@ enabled_all dxva2 CoTaskMemFree &&
     prepend avconv_libs $($ldflags_filter "-lole32") &&
     enable dxva2_lib
 
-! enabled_any memalign posix_memalign aligned_malloc &&
-    enabled simd_align && enable memalign_hack
-
 map 'enabled $v && intrinsics=${v#intrinsics_}' $INTRINSICS_LIST
 
 for thread in $THREADS_LIST; do
diff --git a/libavutil/mem.c b/libavutil/mem.c
index 15c2880..0f506d3 100644
--- a/libavutil/mem.c
+++ b/libavutil/mem.c
@@ -62,22 +62,12 @@ void  free(void *ptr);
 void *av_malloc(size_t size)
 {
     void *ptr = NULL;
-#if CONFIG_MEMALIGN_HACK
-    long diff;
-#endif
 
     /* let's disallow possibly ambiguous cases */
     if (size > (INT_MAX - 32) || !size)
         return NULL;
 
-#if CONFIG_MEMALIGN_HACK
-    ptr = malloc(size + 32);
-    if (!ptr)
-        return ptr;
-    diff              = ((-(long)ptr - 1) & 31) + 1;
-    ptr               = (char *)ptr + diff;
-    ((char *)ptr)[-1] = diff;
-#elif HAVE_POSIX_MEMALIGN
+#if HAVE_POSIX_MEMALIGN
     if (posix_memalign(&ptr, 32, size))
         ptr = NULL;
 #elif HAVE_ALIGNED_MALLOC
@@ -116,21 +106,11 @@ void *av_malloc(size_t size)
 
 void *av_realloc(void *ptr, size_t size)
 {
-#if CONFIG_MEMALIGN_HACK
-    int diff;
-#endif
-
     /* let's disallow possibly ambiguous cases */
     if (size > (INT_MAX - 16))
         return NULL;
 
-#if CONFIG_MEMALIGN_HACK
-    //FIXME this isn't aligned correctly, though it probably isn't needed
-    if (!ptr)
-        return av_malloc(size);
-    diff = ((char *)ptr)[-1];
-    return (char *)realloc((char *)ptr - diff, size + diff) + diff;
-#elif HAVE_ALIGNED_MALLOC
+#if HAVE_ALIGNED_MALLOC
     return _aligned_realloc(ptr, size, 32);
 #else
     return realloc(ptr, size);
@@ -189,10 +169,7 @@ int av_reallocp_array(void *ptr, size_t nmemb, size_t size)
 
 void av_free(void *ptr)
 {
-#if CONFIG_MEMALIGN_HACK
-    if (ptr)
-        free((char *)ptr - ((char *)ptr)[-1]);
-#elif HAVE_ALIGNED_MALLOC
+#if HAVE_ALIGNED_MALLOC
     _aligned_free(ptr);
 #else
     free(ptr);



More information about the ffmpeg-cvslog mailing list