summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Niedermayer <michael@niedermayer.cc>2015-11-18 14:19:47 +0100
committerMichael Niedermayer <michael@niedermayer.cc>2015-11-18 22:05:16 +0100
commitfc91eeab0b3c59f431653dec4e7358630b2c1f7e (patch)
treef801fb8a118f38c1d5d2c790f619e47d7945b0f9
parent518742bc21f7baa4c9059e9705fca131d4e3a87a (diff)
avutil/mem: Add av_fast_mallocz()
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
-rw-r--r--doc/APIchanges3
-rw-r--r--libavutil/mem.c4
-rw-r--r--libavutil/mem.h15
-rw-r--r--libavutil/version.h2
4 files changed, 23 insertions, 1 deletions
diff --git a/doc/APIchanges b/doc/APIchanges
index 14b96ce122..edeba02bff 100644
--- a/doc/APIchanges
+++ b/doc/APIchanges
@@ -15,6 +15,9 @@ libavutil: 2015-08-28
API changes, most recent first:
+2015-11-18 - lavu 55.7.100 - mem.h
+ Add av_fast_mallocz()
+
2015-10-29 - lavc 57.12.100 / 57.8.0 - avcodec.h
xxxxxx - Deprecate av_free_packet(). Use av_packet_unref() as replacement,
it resets the packet in a more consistent way.
diff --git a/libavutil/mem.c b/libavutil/mem.c
index 323b18311b..8dfaad8271 100644
--- a/libavutil/mem.c
+++ b/libavutil/mem.c
@@ -501,3 +501,7 @@ void av_fast_malloc(void *ptr, unsigned int *size, size_t min_size)
ff_fast_malloc(ptr, size, min_size, 0);
}
+void av_fast_mallocz(void *ptr, unsigned int *size, size_t min_size)
+{
+ ff_fast_malloc(ptr, size, min_size, 1);
+}
diff --git a/libavutil/mem.h b/libavutil/mem.h
index a8eb14ee0f..d25b3229b7 100644
--- a/libavutil/mem.h
+++ b/libavutil/mem.h
@@ -385,6 +385,21 @@ void *av_fast_realloc(void *ptr, unsigned int *size, size_t min_size);
void av_fast_malloc(void *ptr, unsigned int *size, size_t min_size);
/**
+ * Allocate a buffer, reusing the given one if large enough.
+ *
+ * All newly allocated space is initially cleared
+ * Contrary to av_fast_realloc the current buffer contents might not be
+ * preserved and on error the old buffer is freed, thus no special
+ * handling to avoid memleaks is necessary.
+ *
+ * @param ptr pointer to pointer to already allocated buffer, overwritten with pointer to new buffer
+ * @param size size of the buffer *ptr points to
+ * @param min_size minimum size of *ptr buffer after returning, *ptr will be NULL and
+ * *size 0 if an error occurred.
+ */
+void av_fast_mallocz(void *ptr, unsigned int *size, size_t min_size);
+
+/**
* @}
*/
diff --git a/libavutil/version.h b/libavutil/version.h
index bcad6587ae..8198e6ded8 100644
--- a/libavutil/version.h
+++ b/libavutil/version.h
@@ -56,7 +56,7 @@
*/
#define LIBAVUTIL_VERSION_MAJOR 55
-#define LIBAVUTIL_VERSION_MINOR 6
+#define LIBAVUTIL_VERSION_MINOR 7
#define LIBAVUTIL_VERSION_MICRO 100
#define LIBAVUTIL_VERSION_INT AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \