vlc | branch: master | Steve Lhomme <[email protected]> | Fri Jun 22 18:03:45 
2018 +0200| [0fc429197c726ccf5692f5802034aed60e5cd3e7] | committer: Steve Lhomme

vlc_tick: add helper macros to convert microseconds to/from vlc_tick_t

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=0fc429197c726ccf5692f5802034aed60e5cd3e7
---

 include/vlc_tick.h | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/include/vlc_tick.h b/include/vlc_tick.h
index 7236b98d9d..d318a0c8a4 100644
--- a/include/vlc_tick.h
+++ b/include/vlc_tick.h
@@ -113,6 +113,21 @@ static inline double secf_from_vlc_tick(vlc_tick_t vtk)
 #endif /* CLOCK_FREQ / 1000 */
 
 
+/*
+ * vlc_tick_t <> microseconds (us) conversions
+ */
+#if (CLOCK_FREQ % 1000000) == 0
+#define VLC_TICK_FROM_US(us)    ((CLOCK_FREQ / INT64_C(1000000)) * (us))
+#define US_FROM_VLC_TICK(vtk)   ((vtk) / (CLOCK_FREQ / INT64_C(1000000)))
+#elif (1000000 % CLOCK_FREQ) == 0
+#define VLC_TICK_FROM_US(us)    ((us)  / (INT64_C(1000000) / CLOCK_FREQ))
+#define US_FROM_VLC_TICK(vtk)   ((vtk) * (INT64_C(1000000) / CLOCK_FREQ))
+#else /* rounded overflowing conversion */
+#define VLC_TICK_FROM_US(us)    (CLOCK_FREQ * (us) / INT64_C(1000000))
+#define US_FROM_VLC_TICK(vtk)   ((vtk) * INT64_C(1000000) / CLOCK_FREQ)
+#endif /* CLOCK_FREQ / 1000000 */
+
+
 /*****************************************************************************
  * MSTRTIME_MAX_SIZE: maximum possible size of mstrtime
  *****************************************************************************

_______________________________________________
vlc-commits mailing list
[email protected]
https://mailman.videolan.org/listinfo/vlc-commits

Reply via email to