|
|
|
@ -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) { } |
|
|
|
|