summaryrefslogtreecommitdiff
path: root/libavutil/common.h
diff options
context:
space:
mode:
authorAurelien Jacobs <aurel@gnuage.org>2009-01-15 22:58:35 +0000
committerAurelien Jacobs <aurel@gnuage.org>2009-01-15 22:58:35 +0000
commit2f5421d513ea2e65749c9bfaf03514b3ffc3d6d1 (patch)
tree3e51b3e80e9bdc51aea922306031764ffbdbc263 /libavutil/common.h
parentca93bc175acb4e1f883e9c2029ea68c620e7c549 (diff)
move timer related code in a new timer.h file
Originally committed as revision 16618 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavutil/common.h')
-rw-r--r--libavutil/common.h73
1 files changed, 0 insertions, 73 deletions
diff --git a/libavutil/common.h b/libavutil/common.h
index ddeecad7dc..a8fd922145 100644
--- a/libavutil/common.h
+++ b/libavutil/common.h
@@ -323,79 +323,6 @@ static inline av_pure int ff_get_fourcc(const char *s){
}\
}
-#if ARCH_X86 || ARCH_PPC || ARCH_BFIN
-#define AV_READ_TIME read_time
-#if ARCH_X86
-static inline uint64_t read_time(void)
-{
- uint32_t a, d;
- __asm__ volatile("rdtsc\n\t"
- : "=a" (a), "=d" (d));
- return ((uint64_t)d << 32) + a;
-}
-#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)
-{
- uint32_t tbu, tbl, temp;
-
- /* from section 2.2.1 of the 32-bit PowerPC PEM */
- __asm__ volatile(
- "1:\n"
- "mftbu %2\n"
- "mftb %0\n"
- "mftbu %1\n"
- "cmpw %2,%1\n"
- "bne 1b\n"
- : "=r"(tbl), "=r"(tbu), "=r"(temp)
- :
- : "cc");
-
- return (((uint64_t)tbu)<<32) | (uint64_t)tbl;
-}
-#endif
-#elif HAVE_GETHRTIME
-#define AV_READ_TIME gethrtime
-#endif
-
-#ifdef AV_READ_TIME
-#define START_TIMER \
-uint64_t tend;\
-uint64_t tstart= AV_READ_TIME();\
-
-#define STOP_TIMER(id) \
-tend= AV_READ_TIME();\
-{\
- static uint64_t tsum=0;\
- static int tcount=0;\
- static int tskip_count=0;\
- if(tcount<2 || tend - tstart < FFMAX(8*tsum/tcount, 2000)){\
- tsum+= tend - tstart;\
- tcount++;\
- }else\
- tskip_count++;\
- if(((tcount+tskip_count)&(tcount+tskip_count-1))==0){\
- av_log(NULL, AV_LOG_ERROR, "%"PRIu64" dezicycles in %s, %d runs, %d skips\n",\
- tsum*10/tcount, id, tcount, tskip_count);\
- }\
-}
-#else
-#define START_TIMER
-#define STOP_TIMER(id) {}
-#endif
-
/**
* Returns NULL if CONFIG_SMALL is true otherwise the argument
* without modifications, used to disable the definition of strings