diff options
author | Michael Niedermayer <michael@niedermayer.cc> | 2015-11-18 14:19:47 +0100 |
---|---|---|
committer | Michael Niedermayer <michael@niedermayer.cc> | 2015-11-18 22:05:16 +0100 |
commit | fc91eeab0b3c59f431653dec4e7358630b2c1f7e (patch) | |
tree | f801fb8a118f38c1d5d2c790f619e47d7945b0f9 | |
parent | 518742bc21f7baa4c9059e9705fca131d4e3a87a (diff) | |
download | ffmpeg-fc91eeab0b3c59f431653dec4e7358630b2c1f7e.tar.gz |
avutil/mem: Add av_fast_mallocz()
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
-rw-r--r-- | doc/APIchanges | 3 | ||||
-rw-r--r-- | libavutil/mem.c | 4 | ||||
-rw-r--r-- | libavutil/mem.h | 15 | ||||
-rw-r--r-- | libavutil/version.h | 2 |
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, \ |