changeset 80:f2d17413c4e3 libavcodec

memalign autodetection
author nickols_k
date Thu, 13 Sep 2001 07:16:59 +0000
parents 82e579c37bc3
children f239f4c7dfa6
files utils.c
diffstat 1 files changed, 5 insertions(+), 19 deletions(-) [+]
line wrap: on
line diff
--- a/utils.c	Fri Aug 31 06:21:27 2001 +0000
+++ b/utils.c	Thu Sep 13 07:16:59 2001 +0000
@@ -16,37 +16,23 @@
  * along with this program; if not, write to the Free Software
  * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  */
-#include <stdlib.h>
 #include <stdio.h>
 #include <string.h>
 #include <errno.h>
-#include <limits.h> /* __GLIBC__ and __GLIBC_MINOR__ are defined here */
-#if __GLIBC__ >=2 && __GLIBC_MINOR__ >= 1 /* Fixme about glibc-2.0 */
-#define HAVE_MEMALIGN 1
-#include <malloc.h>
-#endif
 #include "common.h"
 #include "dsputil.h"
 #include "avcodec.h"
+#ifdef HAVE_MALLOC_H
+#include <malloc.h>
+#else
+#include <stdlib.h>
+#endif
 
 /* memory alloc */
 void *av_mallocz(int size)
 {
     void *ptr;
 #if defined ( ARCH_X86 ) && defined ( HAVE_MEMALIGN )
-/*
-   From glibc-2.1.x manuals:
-   -------------------------
-   The address of a block returned by `malloc' or `realloc' in the GNU
-system is always a multiple of eight (or sixteen on 64-bit systems).
-If you need a block whose address is a multiple of a higher power of
-two than that, use `memalign' or `valloc'.  These functions are
-declared in `stdlib.h'.
-
-   With the GNU library, you can use `free' to free the blocks that
-`memalign' and `valloc' return.  That does not work in BSD,
-however--BSD does not provide any way to free such blocks.
-*/
     ptr = memalign(64,size);
     /* Why 64? 
        Indeed, we should align it: