diff options
author | Fabrice Bellard <fabrice@bellard.org> | 2003-01-23 23:03:09 +0000 |
---|---|---|
committer | Fabrice Bellard <fabrice@bellard.org> | 2003-01-23 23:03:09 +0000 |
commit | 8e1e6f31c142aeb27d3dd7df539c47b35d7eb903 (patch) | |
tree | a1e73532f1654c52016b9ccaf233aa4add95dfd3 /libavcodec/mem.c | |
parent | 47e2a6e6c521a007f78b23ed554a1b81defef936 (diff) | |
download | ffmpeg-8e1e6f31c142aeb27d3dd7df539c47b35d7eb903.tar.gz |
use av_malloc() functions - added av_strdup and av_realloc()
Originally committed as revision 1505 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavcodec/mem.c')
-rw-r--r-- | libavcodec/mem.c | 32 |
1 files changed, 17 insertions, 15 deletions
diff --git a/libavcodec/mem.c b/libavcodec/mem.c index e59b25a223..a36952fd74 100644 --- a/libavcodec/mem.c +++ b/libavcodec/mem.c @@ -17,6 +17,12 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ #include "avcodec.h" + +/* here we can use OS dependant allocation functions */ +#undef malloc +#undef free +#undef realloc + #ifdef HAVE_MALLOC_H #include <malloc.h> #endif @@ -25,13 +31,15 @@ memory allocator. You do not need to suppress this file because the linker will do it automatically */ -/* memory alloc */ +/** + * Memory allocation of size byte with alignment suitable for all + * memory accesses (including vectors if available on the + * CPU). av_malloc(0) must return a non NULL pointer. + */ void *av_malloc(unsigned int size) { void *ptr; -// if(size==0) return NULL; - #if defined (HAVE_MEMALIGN) ptr = memalign(16,size); /* Why 64? @@ -63,23 +71,17 @@ void *av_malloc(unsigned int size) #else ptr = malloc(size); #endif - if (!ptr) - return NULL; -//fprintf(stderr, "%X %d\n", (int)ptr, size); - /* NOTE: this memset should not be present */ - memset(ptr, 0, size); return ptr; } /** - * realloc which does nothing if the block is large enogh + * av_realloc semantics (same as glibc): if ptr is NULL and size > 0, + * identical to malloc(size). If size is zero, it is identical to + * free(ptr) and NULL is returned. */ -void *av_fast_realloc(void *ptr, int *size, int min_size){ - if(min_size < *size) return ptr; - - *size= min_size + 10*1024; - - return realloc(ptr, *size); +void *av_realloc(void *ptr, unsigned int size) +{ + return realloc(ptr, size); } /* NOTE: ptr = NULL is explicetly allowed */ |