shithub: libvpx

Download patch

ref: 19d881290deb3cde837c70395d72d3a8f482c2b0
parent: a19b9b618522fd02a3dfe99a72f3daddcae1ec03
author: James Zern <[email protected]>
date: Sat Aug 27 06:34:40 EDT 2016

vpx_mem,align_addr: use ~ to create mask

removes the need for an intermediate cast to int, which was missing in
the call added in:
69c5ba1 vpx_mem: Refactor code

quiets a visual studio warning:
C4146: unary minus operator applied to unsigned type, result still
unsigned

Change-Id: I76c4003416759c6c76b78f74de7c0d2ba5071216

--- a/vpx_mem/include/vpx_mem_intrnl.h
+++ b/vpx_mem/include/vpx_mem_intrnl.h
@@ -26,6 +26,6 @@
 
 /*returns an addr aligned to the byte boundary specified by align*/
 #define align_addr(addr, align) \
-  (void *)(((size_t)(addr) + ((align)-1)) & (size_t) - (align))
+  (void *)(((size_t)(addr) + ((align)-1)) & ~(size_t)((align)-1))
 
 #endif  // VPX_MEM_INCLUDE_VPX_MEM_INTRNL_H_
--- a/vpx_mem/vpx_mem.c
+++ b/vpx_mem/vpx_mem.c
@@ -59,7 +59,7 @@
 
   addr = malloc((size_t)aligned_size);
   if (addr) {
-    x = align_addr((unsigned char *)addr + ADDRESS_STORAGE_SIZE, (int)align);
+    x = align_addr((unsigned char *)addr + ADDRESS_STORAGE_SIZE, align);
     set_actual_malloc_address(x, addr);
   }
   return x;