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;\