[vlc-commits] vlc_common: add vlc_align helper
    Marvin Scholz 
    git at videolan.org
       
    Tue Mar 24 19:20:33 CET 2020
    
    
  
vlc | branch: master | Marvin Scholz <epirat07 at gmail.com> | Fri Jan 10 19:29:48 2020 +0100| [dff305c34b6f516614b2081587ba3669055c1f4e] | committer: Marvin Scholz
vlc_common: add vlc_align helper
> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=dff305c34b6f516614b2081587ba3669055c1f4e
---
 include/vlc_common.h | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)
diff --git a/include/vlc_common.h b/include/vlc_common.h
index d5e9f1eb71..cb4d49a0e2 100644
--- a/include/vlc_common.h
+++ b/include/vlc_common.h
@@ -549,6 +549,23 @@ typedef int ( * vlc_list_callback_t ) ( vlc_object_t *,      /* variable's objec
 /* clip v in [min, max] */
 #define VLC_CLIP(v, min, max)    __MIN(__MAX((v), (min)), (max))
 
+/**
+ * Make integer v a multiple of align
+ *
+ * \note align must be a power of 2
+ */
+VLC_USED
+static inline size_t vlc_align(size_t v, size_t align)
+{
+    return (v + (align - 1)) & ~(align - 1);
+}
+
+#if defined(__clang__) && __has_attribute(diagnose_if)
+static inline size_t vlc_align(size_t v, size_t align)
+    __attribute__((diagnose_if(((align & (align - 1)) || (align == 0)),
+        "align must be power of 2", "error")));
+#endif
+
 /** Greatest common divisor */
 VLC_USED
 static inline int64_t GCD ( int64_t a, int64_t b )
    
    
More information about the vlc-commits
mailing list