mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2025-01-05 23:00:02 +00:00
lavu/timer.h: factor out timer report
This commit is meant to reduce the diff in the following one.
This commit is contained in:
parent
e0d56f097f
commit
9c0d823a7c
@ -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…
Reference in New Issue
Block a user