[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