Merge commit 'd63443b9684fa7b3e086634f7b44b203b6d9221e'
authorMichael Niedermayer <michaelni@gmx.at>
Sun, 10 Aug 2014 18:51:15 +0000 (20:51 +0200)
committerMichael Niedermayer <michaelni@gmx.at>
Sun, 10 Aug 2014 18:51:15 +0000 (20:51 +0200)
* commit 'd63443b9684fa7b3e086634f7b44b203b6d9221e':
  lavc: drop the av_fast_{re,m}alloc compatibility wrappers

Conflicts:
libavcodec/utils.c

See: a973e01501bc3ca5c61d778f97f350837d4ed481
Merged-by: Michael Niedermayer <michaelni@gmx.at>
1  2 
libavcodec/utils.c

@@@ -119,53 -55,10 +119,35 @@@ static int volatile entangled_thread_co
  static void *codec_mutex;
  static void *avformat_mutex;
  
- #if CONFIG_RAISE_MAJOR
- #    define LIBNAME "LIBAVCODEC_155"
- #else
- #    define LIBNAME "LIBAVCODEC_55"
- #endif
- #if FF_API_FAST_MALLOC && CONFIG_SHARED && HAVE_SYMVER
- FF_SYMVER(void*, av_fast_realloc, (void *ptr, unsigned int *size, size_t min_size), LIBNAME)
- {
-     return av_fast_realloc(ptr, size, min_size);
- }
- FF_SYMVER(void, av_fast_malloc, (void *ptr, unsigned int *size, size_t min_size), LIBNAME)
- {
-     av_fast_malloc(ptr, size, min_size);
- }
- #endif
 -void av_fast_padded_malloc(void *ptr, unsigned int *size, size_t min_size)
 +static inline int ff_fast_malloc(void *ptr, unsigned int *size, size_t min_size, int zero_realloc)
  {
      void **p = ptr;
 +    if (min_size < *size)
 +        return 0;
 +    min_size = FFMAX(17 * min_size / 16 + 32, min_size);
 +    av_free(*p);
 +    *p = zero_realloc ? av_mallocz(min_size) : av_malloc(min_size);
 +    if (!*p)
 +        min_size = 0;
 +    *size = min_size;
 +    return 1;
 +}
 +
 +void av_fast_padded_malloc(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 + 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;