[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