Merge remote-tracking branch 'qatar/master'
authorMichael Niedermayer <michaelni@gmx.at>
Sat, 20 Oct 2012 11:18:59 +0000 (13:18 +0200)
committerMichael Niedermayer <michaelni@gmx.at>
Sat, 20 Oct 2012 11:18:59 +0000 (13:18 +0200)
* qatar/master:
  configure: Group math functions into a separate variable
  avutil/mem: K&R formatting cosmetics
  avutil/lzo: K&R formatting cosmetics

Conflicts:
configure
libavutil/mem.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
1  2 
configure
libavutil/lzo.c
libavutil/lzo.h
libavutil/mem.c
libavutil/mem.h

diff --cc configure
+++ b/configure
@@@ -1260,9 -1122,27 +1260,28 @@@ HAVE_LIST_CMDLINE=
  HAVE_LIST_PUB='
      bigendian
      fast_unaligned
 +    incompatible_fork_abi
  '
  
+ MATH_FUNCS="
+     cbrtf
+     exp2
+     exp2f
+     isinf
+     isnan
+     llrint
+     llrintf
+     log2
+     log2f
+     lrint
+     lrintf
+     rint
+     round
+     roundf
+     trunc
+     truncf
+ "
  HAVE_LIST="
      $ARCH_EXT_LIST
      $(add_suffix _external $ARCH_EXT_LIST)
      arpa_inet_h
      asm_mod_q
      asm_mod_y
 +    asm_types_h
      attribute_may_alias
      attribute_packed
-     cbrtf
 +    clock_gettime
      closesocket
      cmov
      cpunop
      inet_aton
      io_h
      isatty
-     isinf
-     isnan
      jack_port_get_latency_range
 +    kbhit
      ldbrx
      libdc1394_1
      libdc1394_2
      local_aligned_16
      local_aligned_8
      localtime_r
-     log2
-     log2f
      loongson
-     lrint
-     lrintf
 +    lzo1x_999_compress
      machine_ioctl_bt848_h
      machine_ioctl_meteor_h
 +    makeinfo
      malloc_h
      MapViewOfFile
      memalign
      mprotect
      msvcrt
      nanosleep
 +    PeekNamedPipe
 +    perl
 +    pod2man
      poll_h
      posix_memalign
 +    pthread_cancel
      rdtsc
-     rint
-     round
-     roundf
      sched_getaffinity
      sdl
      sdl_video_size
      sys_soundcard_h
      sys_time_h
      sys_videoio_h
 +    termios_h
 +    texi2html
      threads
-     trunc
-     truncf
      unistd_h
      usleep
      vfp_args
@@@ -3607,30 -3271,12 +3611,17 @@@ for thread in $THREADS_LIST; d
      fi
  done
  
 +if enabled pthreads; then
 +  check_func pthread_cancel
 +fi
 +
  check_lib math.h sin -lm && LIBM="-lm"
 +disabled crystalhd || check_lib libcrystalhd/libcrystalhd_if.h DtsCrystalHDVersion -lcrystalhd || disable crystalhd
  enabled vaapi && require vaapi va/va.h vaInitialize -lva
  
- check_mathfunc cbrtf
- check_mathfunc exp2
- check_mathfunc exp2f
- check_mathfunc isinf
- check_mathfunc isnan
- check_mathfunc llrint
- check_mathfunc llrintf
- check_mathfunc log2
- check_mathfunc log2f
- check_mathfunc lrint
- check_mathfunc lrintf
- check_mathfunc rint
- check_mathfunc round
- check_mathfunc roundf
- check_mathfunc trunc
- check_mathfunc truncf
+ for func in $MATH_FUNCS; do
+     check_mathfunc $func
+ done
  
  # these are off by default, so fail if requested and not available
  enabled avisynth   && require2 vfw32 "windows.h vfw.h" AVIFileInit -lavifil32
diff --cc libavutil/lzo.c
@@@ -132,9 -138,10 +138,10 @@@ static inline void copy_backptr(LZOCont
      c->out = dst + cnt;
  }
  
- static inline void memcpy_backptr(uint8_t *dst, int back, int cnt) {
+ static inline void memcpy_backptr(uint8_t *dst, int back, int cnt)
+ {
      const uint8_t *src = &dst[-back];
 -    if (back == 1) {
 +    if (back <= 1) {
          memset(dst, *src, cnt);
      } else {
  #ifdef OUTBUF_PADDED
@@@ -170,15 -178,16 +178,16 @@@ void av_memcpy_backptr(uint8_t *dst, in
      memcpy_backptr(dst, back, cnt);
  }
  
- int av_lzo1x_decode(void *out, int *outlen, const void *in, int *inlen) {
-     int state= 0;
+ int av_lzo1x_decode(void *out, int *outlen, const void *in, int *inlen)
+ {
+     int state = 0;
      int x;
      LZOContext c;
 -    if (!*outlen || !*inlen) {
 +    if (*outlen <= 0 || *inlen <= 0) {
          int res = 0;
 -        if (!*outlen)
 +        if (*outlen <= 0)
              res |= AV_LZO_OUTPUT_FULL;
 -        if (!*inlen)
 +        if (*inlen <= 0)
              res |= AV_LZO_INPUT_DEPLETED;
          return res;
      }
diff --cc libavutil/lzo.h
Simple merge
diff --cc libavutil/mem.c
@@@ -80,47 -69,46 +80,47 @@@ void *av_malloc(size_t size
  #endif
  
      /* let's disallow possible ambiguous cases */
-     if (size > (max_alloc_size-32))
 -    if (size > (INT_MAX - 32) || !size)
++    if (size > (max_alloc_size - 32))
          return NULL;
  
  #if CONFIG_MEMALIGN_HACK
-     ptr = malloc(size+ALIGN);
-     if(!ptr)
 -    ptr = malloc(size + 32);
++    ptr = malloc(size + ALIGN);
+     if (!ptr)
          return ptr;
-     diff= ((-(long)ptr - 1)&(ALIGN-1)) + 1;
-     ptr = (char*)ptr + diff;
-     ((char*)ptr)[-1]= diff;
 -    diff              = ((-(long)ptr - 1) & 31) + 1;
++    diff              = ((-(long)ptr - 1)&(ALIGN - 1)) + 1;
+     ptr               = (char *)ptr + diff;
+     ((char *)ptr)[-1] = diff;
  #elif HAVE_POSIX_MEMALIGN
 -    if (posix_memalign(&ptr, 32, size))
 +    if (size) //OS X on SDK 10.6 has a broken posix_memalign implementation
-     if (posix_memalign(&ptr,ALIGN,size))
++    if (posix_memalign(&ptr, ALIGN, size))
          ptr = NULL;
  #elif HAVE_ALIGNED_MALLOC
 -    ptr = _aligned_malloc(size, 32);
 +    ptr = _aligned_malloc(size, ALIGN);
  #elif HAVE_MEMALIGN
-     ptr = memalign(ALIGN,size);
 -    ptr = memalign(32, size);
++    ptr = memalign(ALIGN, size);
      /* Why 64?
-        Indeed, we should align it:
-          on 4 for 386
-          on 16 for 486
-          on 32 for 586, PPro - K6-III
-          on 64 for K7 (maybe for P3 too).
-        Because L1 and L2 caches are aligned on those values.
-        But I don't want to code such logic here!
+      * Indeed, we should align it:
+      *   on  4 for 386
+      *   on 16 for 486
+      *   on 32 for 586, PPro - K6-III
+      *   on 64 for K7 (maybe for P3 too).
+      * Because L1 and L2 caches are aligned on those values.
+      * But I don't want to code such logic here!
       */
-      /* Why 32?
-         For AVX ASM. SSE / NEON needs only 16.
-         Why not larger? Because I did not see a difference in benchmarks ...
+     /* Why 32?
+      * For AVX ASM. SSE / NEON needs only 16.
+      * Why not larger? Because I did not see a difference in benchmarks ...
       */
-      /* benchmarks with P3
-         memalign(64)+1          3071,3051,3032
-         memalign(64)+2          3051,3032,3041
-         memalign(64)+4          2911,2896,2915
-         memalign(64)+8          2545,2554,2550
-         memalign(64)+16         2543,2572,2563
-         memalign(64)+32         2546,2545,2571
-         memalign(64)+64         2570,2533,2558
-         BTW, malloc seems to do 8-byte alignment by default here.
+     /* benchmarks with P3
+      * memalign(64) + 1          3071, 3051, 3032
+      * memalign(64) + 2          3051, 3032, 3041
+      * memalign(64) + 4          2911, 2896, 2915
+      * memalign(64) + 8          2545, 2554, 2550
+      * memalign(64) + 16         2543, 2572, 2563
+      * memalign(64) + 32         2546, 2545, 2571
+      * memalign(64) + 64         2570, 2533, 2558
+      *
+      * BTW, malloc seems to do 8-byte alignment by default here.
       */
  #else
      ptr = malloc(size);
@@@ -143,20 -123,19 +143,22 @@@ void *av_realloc(void *ptr, size_t size
  #endif
  
      /* let's disallow possible ambiguous cases */
-     if (size > (max_alloc_size-32))
 -    if (size > (INT_MAX - 16))
++    if (size > (max_alloc_size - 32))
          return NULL;
  
  #if CONFIG_MEMALIGN_HACK
      //FIXME this isn't aligned correctly, though it probably isn't needed
-     if(!ptr) return av_malloc(size);
-     diff= ((char*)ptr)[-1];
-     ptr= realloc((char*)ptr - diff, size + diff);
-     if(ptr) ptr = (char*)ptr + diff;
+     if (!ptr)
+         return av_malloc(size);
+     diff = ((char *)ptr)[-1];
 -    return (char *)realloc((char *)ptr - diff, size + diff) + diff;
++    ptr = realloc((char *)ptr - diff, size + diff);
++    if (ptr)
++        ptr = (char *)ptr + diff;
 +    return ptr;
  #elif HAVE_ALIGNED_MALLOC
 -    return _aligned_realloc(ptr, size, 32);
 +    return _aligned_realloc(ptr, size + !size, ALIGN);
  #else
 -    return realloc(ptr, size);
 +    return realloc(ptr, size + !size);
  #endif
  }
  
@@@ -202,17 -166,10 +204,17 @@@ void *av_mallocz(size_t size
      return ptr;
  }
  
 +void *av_calloc(size_t nmemb, size_t size)
 +{
 +    if (size <= 0 || nmemb >= INT_MAX / size)
 +        return NULL;
 +    return av_mallocz(nmemb * size);
 +}
 +
  char *av_strdup(const char *s)
  {
-     char *ptr= NULL;
-     if(s){
+     char *ptr = NULL;
+     if (s) {
          int len = strlen(s) + 1;
          ptr = av_malloc(len);
          if (ptr)
diff --cc libavutil/mem.h
Simple merge