[vlc-devel] [PATCH 2/6] vlc_tick: add helper macros to convert milliseconds to/from vlc_tick_t

Romain Vimont rom1v at videolabs.io
Fri Jun 22 23:27:29 CEST 2018


On Fri, Jun 22, 2018 at 06:17:40PM +0200, Steve Lhomme wrote:
> ---
>  include/vlc_tick.h | 15 +++++++++++++++
>  1 file changed, 15 insertions(+)
> 
> diff --git a/include/vlc_tick.h b/include/vlc_tick.h
> index 1b18e22d44f..7236b98d9d3 100644
> --- a/include/vlc_tick.h
> +++ b/include/vlc_tick.h
> @@ -98,6 +98,21 @@ static inline double secf_from_vlc_tick(vlc_tick_t vtk)
>  }
>  
>  
> +/*
> + * vlc_tick_t <> milliseconds (ms) conversions
> + */
> +#if (CLOCK_FREQ % 1000) == 0
> +#define VLC_TICK_FROM_MS(ms)  ((CLOCK_FREQ / INT64_C(1000)) * (ms))
> +#define MS_FROM_VLC_TICK(vtk) ((vtk) / (CLOCK_FREQ / INT64_C(1000)))
> +#elif (1000 % CLOCK_FREQ) == 0
> +#define VLC_TICK_FROM_MS(ms)  ((ms)  / (INT64_C(1000) / CLOCK_FREQ))
> +#define MS_FROM_VLC_TICK(vtk) ((vtk) * (INT64_C(1000) / CLOCK_FREQ))
> +#else /* rounded overflowing conversion */
> +#define VLC_TICK_FROM_MS(ms)  (CLOCK_FREQ * (ms) / 1000)
> +#define MS_FROM_VLC_TICK(vtk) ((vtk) * 1000 / CLOCK_FREQ)
> +#endif /* CLOCK_FREQ / 1000 */

Nice :)

> +
> +
>  /*****************************************************************************
>   * MSTRTIME_MAX_SIZE: maximum possible size of mstrtime
>   *****************************************************************************
> -- 
> 2.17.0
> 
> _______________________________________________
> 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