summaryrefslogtreecommitdiff
path: root/libavutil/timer.h
diff options
context:
space:
mode:
authorJ. Dekker <jdek@itanimul.li>2021-07-20 19:09:22 +0200
committerJ. Dekker <jdek@itanimul.li>2021-07-20 19:40:03 +0200
commit9a727235fd497c22f2370e48dd1443d1376953e7 (patch)
treeaa45dd828846649404001aea6b8e88de8d94bffc /libavutil/timer.h
parent4f49fa6abe89e2fca2585cac4c63190315972cf0 (diff)
lavu/checkasm: add (private) kperf timing for macOS
Signed-off-by: J. Dekker <jdek@itanimul.li>
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; \