summaryrefslogtreecommitdiff
path: root/libavutil/mem.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michael@niedermayer.cc>2015-07-11 23:58:39 +0200
committerMichael Niedermayer <michael@niedermayer.cc>2015-07-13 02:41:43 +0200
commitd6ff68ad853cab83cb58905b33a3957d249a75dd (patch)
tree1fafcba3ded3d44f8589d6b26a86f09fe92cc528 /libavutil/mem.c
parent03931ecf71710452fc9e89d4f18354f0b5e05395 (diff)
Factor duplicated ff_fast_malloc() out into mem_internal.h
internal.h is difficult to use due to circular dependancies mem.h is a public header ff_* is not public Alternative solutions probably are possible too Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Diffstat (limited to 'libavutil/mem.c')
-rw-r--r--libavutil/mem.c18
1 files changed, 2 insertions, 16 deletions
diff --git a/libavutil/mem.c b/libavutil/mem.c
index d828cccb1a..323b18311b 100644
--- a/libavutil/mem.c
+++ b/libavutil/mem.c
@@ -59,6 +59,8 @@ void free(void *ptr);
#endif /* MALLOC_PREFIX */
+#include "mem_internal.h"
+
#define ALIGN (HAVE_AVX ? 32 : 16)
/* NOTE: if you want to override these functions with your own
@@ -494,22 +496,6 @@ void *av_fast_realloc(void *ptr, unsigned int *size, size_t min_size)
return ptr;
}
-static inline int ff_fast_malloc(void *ptr, unsigned int *size, size_t min_size, int zero_realloc)
-{
- void *val;
-
- if (min_size < *size)
- return 0;
- min_size = FFMAX(min_size + min_size / 16 + 32, min_size);
- av_freep(ptr);
- val = zero_realloc ? av_mallocz(min_size) : av_malloc(min_size);
- memcpy(ptr, &val, sizeof(val));
- if (!val)
- min_size = 0;
- *size = min_size;
- return 1;
-}
-
void av_fast_malloc(void *ptr, unsigned int *size, size_t min_size)
{
ff_fast_malloc(ptr, size, min_size, 0);