summaryrefslogtreecommitdiff
path: root/libavutil/timer.h
diff options
context:
space:
mode:
Diffstat (limited to 'libavutil/timer.h')
-rw-r--r--libavutil/timer.h15
1 files changed, 14 insertions, 1 deletions
diff --git a/libavutil/timer.h b/libavutil/timer.h
index 36f920e96a..1cf384d772 100644
--- a/libavutil/timer.h
+++ b/libavutil/timer.h
@@ -42,7 +42,9 @@
#include <stdint.h>
#include <inttypes.h>
-#if HAVE_MACH_ABSOLUTE_TIME
+#if CONFIG_MACOS_KPERF
+#include "macos_kperf.h"
+#elif HAVE_MACH_ABSOLUTE_TIME
#include <mach/mach_time.h>
#endif
@@ -125,6 +127,17 @@
read(linux_perf_fd, &tperf, sizeof(tperf)); \
TIMER_REPORT(id, tperf)
+#elif CONFIG_MACOS_KPERF
+
+#define START_TIMER \
+ uint64_t tperf; \
+ if (ff_kperf_init()) \
+ av_log(NULL, AV_LOG_ERROR, "ff_kperf_init() failed\n"); \
+ tperf = kperf_cycles();
+
+#define STOP_TIMER(id) \
+ TIMER_REPORT(id, kperf_cycles() - tperf);
+
#elif defined(AV_READ_TIME)
#define START_TIMER \
uint64_t tend; \