Browse Source

add an AMD64 specific implementation of rdtsc()

Originally committed as revision 4135 to svn://svn.ffmpeg.org/ffmpeg/trunk
tags/v0.5
Aurelien Jacobs 20 years ago
parent
commit
8230cf0210
1 changed files with 11 additions and 0 deletions
  1. +11
    -0
      libavcodec/common.h

+ 11
- 0
libavcodec/common.h View File

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


Loading…
Cancel
Save