mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-23 12:43:46 +02:00
Blackfin - read_time primitive
note this primitive currently uses a union to concatenate 2x32bit registers because of poor compiler support around DImode and asm. Originally committed as revision 9302 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
c9823f0577
commit
f70c273902
@ -267,7 +267,7 @@ static inline int ff_get_fourcc(const char *s){
|
|||||||
}\
|
}\
|
||||||
}
|
}
|
||||||
|
|
||||||
#if defined(ARCH_X86) || defined(ARCH_POWERPC)
|
#if defined(ARCH_X86) || defined(ARCH_POWERPC) || defined(ARCH_BFIN)
|
||||||
#if defined(ARCH_X86_64)
|
#if defined(ARCH_X86_64)
|
||||||
static inline uint64_t read_time(void)
|
static inline uint64_t read_time(void)
|
||||||
{
|
{
|
||||||
@ -286,6 +286,19 @@ static inline long long read_time(void)
|
|||||||
);
|
);
|
||||||
return l;
|
return l;
|
||||||
}
|
}
|
||||||
|
#elif ARCH_BFIN
|
||||||
|
static inline uint64_t read_time(void)
|
||||||
|
{
|
||||||
|
union {
|
||||||
|
struct {
|
||||||
|
unsigned lo;
|
||||||
|
unsigned hi;
|
||||||
|
} p;
|
||||||
|
unsigned long long c;
|
||||||
|
} t;
|
||||||
|
asm volatile ("%0=cycles; %1=cycles2;" : "=d" (t.p.lo), "=d" (t.p.hi));
|
||||||
|
return t.c;
|
||||||
|
}
|
||||||
#else //FIXME check ppc64
|
#else //FIXME check ppc64
|
||||||
static inline uint64_t read_time(void)
|
static inline uint64_t read_time(void)
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user