Commit 03092e14 authored by Michael Niedermayer's avatar Michael Niedermayer

Port read_time() that works on x86_32 and 64 from noe.

Originally committed as revision 15661 to svn://svn.ffmpeg.org/ffmpeg/trunk
parent 3d0d9a5e
......@@ -323,21 +323,13 @@ static inline av_pure int ff_get_fourcc(const char *s){
#if defined(ARCH_X86) || defined(ARCH_POWERPC) || defined(ARCH_BFIN)
#define AV_READ_TIME read_time
#if defined(ARCH_X86_64)
#if defined(ARCH_X86)
static inline uint64_t read_time(void)
{
uint64_t a, d;
uint32_t a, d;
__asm__ volatile("rdtsc\n\t"
: "=a" (a), "=d" (d));
return (d << 32) | (a & 0xffffffff);
}
#elif defined(ARCH_X86_32)
static inline long long read_time(void)
{
long long l;
__asm__ volatile("rdtsc\n\t"
: "=A" (l));
return l;
return ((uint64_t)d << 32) + a;
}
#elif ARCH_BFIN
static inline uint64_t read_time(void)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment