lavu/timer.h: factor out timer report

This commit is meant to reduce the diff in the following one.
pull/269/head
Clément Bœsch 7 years ago committed by Clément Bœsch
parent e0d56f097f
commit 9c0d823a7c
  1. 27
      libavutil/timer.h

@ -60,23 +60,17 @@
# define FF_TIMER_UNITS "UNITS"
#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(); \
#define TIMER_REPORT(id, tdiff) \
{ \
static uint64_t tsum = 0; \
static int tcount = 0; \
static int tskip_count = 0; \
static int thistogram[32] = {0}; \
thistogram[av_log2(tend - tstart)]++; \
if (tcount < 2 || \
tend - tstart < 8 * tsum / tcount || \
tend - tstart < 2000) { \
tsum+= tend - tstart; \
thistogram[av_log2(tdiff)]++; \
if (tcount < 2 || \
(tdiff) < 8 * tsum / tcount || \
(tdiff) < 2000) { \
tsum += (tdiff); \
tcount++; \
} else \
tskip_count++; \
@ -90,6 +84,15 @@
av_log(NULL, AV_LOG_ERROR, "\n"); \
} \
}
#ifdef AV_READ_TIME
#define START_TIMER \
uint64_t tend; \
uint64_t tstart = AV_READ_TIME(); \
#define STOP_TIMER(id) \
tend = AV_READ_TIME(); \
TIMER_REPORT(id, tend - tstart)
#else
#define START_TIMER
#define STOP_TIMER(id) { }

Loading…
Cancel
Save