* Making [START|STOP]_TIMER work on architectures that support gethrtime()
authorRoman Shaposhnik <roman@shaposhnik.org>
Thu, 9 Aug 2007 00:12:40 +0000 (00:12 +0000)
committerRoman Shaposhnik <roman@shaposhnik.org>
Thu, 9 Aug 2007 00:12:40 +0000 (00:12 +0000)
Originally committed as revision 9998 to svn://svn.ffmpeg.org/ffmpeg/trunk

configure
libavutil/common.h

index e5133caf680987c7cd5f0fdb0cdda4bfbd463a4d..13093e73d3a4fbb79eaabc83fcc73a95e7009091 100755 (executable)
--- a/configure
+++ b/configure
@@ -687,6 +687,7 @@ HAVE_LIST="
     malloc_h
     memalign
     mkstemp
+    gethrtime
     mlib
     ppc64
     sdl
@@ -1531,6 +1532,7 @@ fi
 check_header byteswap.h
 
 check_func mkstemp
+check_func gethrtime
 
 check_header termios.h
 check_header conio.h
index b9fd06d94b31d7e62309e1768978d17978e57661..7b23c3ccccf1b3e6035569048cbfdc533ae72c3d 100644 (file)
@@ -268,6 +268,7 @@ static inline 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)
 static inline uint64_t read_time(void)
 {
@@ -319,13 +320,17 @@ static inline uint64_t read_time(void)
      return (((uint64_t)tbu)<<32) | (uint64_t)tbl;
 }
 #endif
+#elif defined(HAVE_GETHRTIME)
+#define AV_READ_TIME gethrtime
+#endif
 
+#ifdef AV_READ_TIME
 #define START_TIMER \
 uint64_t tend;\
-uint64_t tstart= read_time();\
+uint64_t tstart= AV_READ_TIME();\
 
 #define STOP_TIMER(id) \
-tend= read_time();\
+tend= AV_READ_TIME();\
 {\
   static uint64_t tsum=0;\
   static int tcount=0;\