summaryrefslogtreecommitdiff
path: root/libavcodec
diff options
context:
space:
mode:
Diffstat (limited to 'libavcodec')
-rw-r--r--libavcodec/common.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/libavcodec/common.h b/libavcodec/common.h
index 20978aeb28..4d72d88500 100644
--- a/libavcodec/common.h
+++ b/libavcodec/common.h
@@ -457,6 +457,16 @@ if((y)<(x)){\
#endif
#if defined(ARCH_X86) || defined(ARCH_X86_64)
+#if defined(ARCH_X86_64)
+static inline uint64_t rdtsc(void)
+{
+ uint64_t a, d;
+ asm volatile( "rdtsc\n\t"
+ : "=a" (a), "=d" (d)
+ );
+ return (d << 32) | (a & 0xffffffff);
+}
+#else
static inline long long rdtsc(void)
{
long long l;
@@ -465,6 +475,7 @@ static inline long long rdtsc(void)
);
return l;
}
+#endif
#define START_TIMER \
uint64_t tend;\