lavc: add av_fast_padded_mallocz
Signed-off-by: Paul B Mahol <onemda@gmail.com>
This commit is contained in:
		
							parent
							
								
									ca16f88c75
								
							
						
					
					
						commit
						0e003d8c91
					
				@ -15,6 +15,9 @@ libavutil:     2011-04-18
 | 
			
		||||
 | 
			
		||||
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
 | 
			
		||||
  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);
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * 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.
 | 
			
		||||
 *
 | 
			
		||||
 | 
			
		||||
@ -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);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
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 */
 | 
			
		||||
static AVCodec *first_avcodec = NULL;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user