[vlc-devel] [PATCH v2 1/3] vlc_common: add vlc_align helper

Steve Lhomme robux4 at ycbcr.xyz
Tue Mar 24 10:56:06 CET 2020


On 2020-03-23 23:16, Marvin Scholz wrote:
> ---
>   include/vlc_common.h | 17 +++++++++++++++++
>   1 file changed, 17 insertions(+)
> 
> diff --git a/include/vlc_common.h b/include/vlc_common.h
> index d5e9f1eb71..5178556362 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),

You may add an extra parenthesis to differentiate the two tests. The 
patchset LGTM apart from that.

> +        "align must be power of 2", "error")));
> +#endif
> +
>   /** Greatest common divisor */
>   VLC_USED
>   static inline int64_t GCD ( int64_t a, int64_t b )
> -- 
> 2.21.1 (Apple Git-122.3)
> 
> _______________________________________________
> vlc-devel mailing list
> To unsubscribe or modify your subscription options:
> https://mailman.videolan.org/listinfo/vlc-devel
> 


More information about the vlc-devel mailing list