[FFmpeg-cvslog] r9302 - trunk/libavutil/common.h
mhoffman
subversion
Wed Jun 13 13:09:07 CEST 2007
Author: mhoffman
Date: Wed Jun 13 13:09:07 2007
New Revision: 9302
Log:
Blackfin - read_time primitive
note this primitive currently uses a union to concatenate 2x32bit registers because of poor compiler support
around DImode and asm.
Modified:
trunk/libavutil/common.h
Modified: trunk/libavutil/common.h
==============================================================================
--- trunk/libavutil/common.h (original)
+++ trunk/libavutil/common.h Wed Jun 13 13:09:07 2007
@@ -267,7 +267,7 @@ static inline int ff_get_fourcc(const ch
}\
}
-#if defined(ARCH_X86) || defined(ARCH_POWERPC)
+#if defined(ARCH_X86) || defined(ARCH_POWERPC) || defined(ARCH_BFIN)
#if defined(ARCH_X86_64)
static inline uint64_t read_time(void)
{
@@ -286,6 +286,19 @@ static inline long long read_time(void)
);
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
static inline uint64_t read_time(void)
{
More information about the ffmpeg-cvslog
mailing list