mirror of
				https://github.com/nyanmisaka/ffmpeg-rockchip.git
				synced 2025-10-31 20:42:49 +08:00 
			
		
		
		
	1000l in av_mallocz_static()
less overallocation in av_fast_realloc() for small arrays Originally committed as revision 2913 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
		| @@ -60,7 +60,7 @@ void *av_fast_realloc(void *ptr, unsigned int *size, unsigned int min_size) | |||||||
|     if(min_size < *size)  |     if(min_size < *size)  | ||||||
|         return ptr; |         return ptr; | ||||||
|      |      | ||||||
|     *size= min_size + 10*1024; |     *size= 17*min_size/16 + 32; | ||||||
|  |  | ||||||
|     return av_realloc(ptr, *size); |     return av_realloc(ptr, *size); | ||||||
| } | } | ||||||
| @@ -69,7 +69,6 @@ void *av_fast_realloc(void *ptr, unsigned int *size, unsigned int min_size) | |||||||
| static unsigned int last_static = 0; | static unsigned int last_static = 0; | ||||||
| static unsigned int allocated_static = 0; | static unsigned int allocated_static = 0; | ||||||
| static void** array_static = NULL; | static void** array_static = NULL; | ||||||
| static const unsigned int grow_static = 64; // ^2 |  | ||||||
|  |  | ||||||
| /** | /** | ||||||
|  * allocation of static arrays - do not use for normal allocation. |  * allocation of static arrays - do not use for normal allocation. | ||||||
| @@ -79,7 +78,7 @@ void *av_mallocz_static(unsigned int size) | |||||||
|     void *ptr = av_mallocz(size); |     void *ptr = av_mallocz(size); | ||||||
|  |  | ||||||
|     if(ptr){  |     if(ptr){  | ||||||
|         array_static =av_fast_realloc(array_static, &allocated_static, last_static+1); |         array_static =av_fast_realloc(array_static, &allocated_static, sizeof(void*)*(last_static+1)); | ||||||
|         array_static[last_static++] = ptr; |         array_static[last_static++] = ptr; | ||||||
|     } |     } | ||||||
|  |  | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Michael Niedermayer
					Michael Niedermayer