Signed-off-by: Paul B Mahol <onemda@gmail.com>tags/n1.0
@@ -15,6 +15,9 @@ libavutil: 2011-04-18 | |||||
API changes, most recent first: | API changes, most recent first: | ||||
2012-07-10 - xxxxxxx - lavc 54.33.100 | |||||
Add av_fast_padded_mallocz(). | |||||
2012-07-10 - xxxxxxx - lavfi 3.2.0 - avfilter.h | 2012-07-10 - xxxxxxx - lavfi 3.2.0 - avfilter.h | ||||
Add init_opaque() callback to AVFilter struct. | Add init_opaque() callback to AVFilter struct. | ||||
@@ -4601,6 +4601,12 @@ void av_fast_malloc(void *ptr, unsigned int *size, size_t min_size); | |||||
*/ | */ | ||||
void av_fast_padded_malloc(void *ptr, unsigned int *size, size_t min_size); | void av_fast_padded_malloc(void *ptr, unsigned int *size, size_t min_size); | ||||
/** | |||||
* Same behaviour av_fast_padded_malloc except that buffer will always | |||||
* be 0-initialized after call. | |||||
*/ | |||||
void av_fast_padded_mallocz(void *ptr, unsigned int *size, size_t min_size); | |||||
/** | /** | ||||
* Encode extradata length to a buffer. Used by xiph codecs. | * Encode extradata length to a buffer. Used by xiph codecs. | ||||
* | * | ||||
@@ -100,6 +100,18 @@ void av_fast_padded_malloc(void *ptr, unsigned int *size, size_t min_size) | |||||
memset(*p + min_size, 0, FF_INPUT_BUFFER_PADDING_SIZE); | memset(*p + min_size, 0, FF_INPUT_BUFFER_PADDING_SIZE); | ||||
} | } | ||||
void av_fast_padded_mallocz(void *ptr, unsigned int *size, size_t min_size) | |||||
{ | |||||
uint8_t **p = ptr; | |||||
if (min_size > SIZE_MAX - FF_INPUT_BUFFER_PADDING_SIZE) { | |||||
av_freep(p); | |||||
*size = 0; | |||||
return; | |||||
} | |||||
if (!ff_fast_malloc(p, size, min_size + FF_INPUT_BUFFER_PADDING_SIZE, 1)) | |||||
memset(*p, 0, min_size + FF_INPUT_BUFFER_PADDING_SIZE); | |||||
} | |||||
/* encoder management */ | /* encoder management */ | ||||
static AVCodec *first_avcodec = NULL; | static AVCodec *first_avcodec = NULL; | ||||