The value is useful to get a raw estimate of the expected encoding/decoding time.
Also extend option documentation. --- doc/ffmpeg.texi | 6 ++++++ ffmpeg.c | 9 +++++++-- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/doc/ffmpeg.texi b/doc/ffmpeg.texi index a38a32e..9ea48bb 100644 --- a/doc/ffmpeg.texi +++ b/doc/ffmpeg.texi @@ -999,6 +999,12 @@ it will usually display as 0 if not supported. @item -benchmark_all (@emph{global}) Show benchmarking information during the encode. Shows CPU time used in various steps (audio/video encode/decode). + +This option shows the following information for each processing step, +in this order: the user process time (in microseconds), the elapsed +relative time (in microseconds), the processing step type, and the +relative stream. + @item -timelimit @var{duration} (@emph{global}) Exit after ffmpeg has been running for @var{duration} seconds. @item -dump (@emph{global}) diff --git a/ffmpeg.c b/ffmpeg.c index 86a0960..24536d1 100644 --- a/ffmpeg.c +++ b/ffmpeg.c @@ -129,7 +129,9 @@ static int nb_frames_dup = 0; static int nb_frames_drop = 0; static int64_t decode_error_stat[2]; -static int current_time; +static int64_t current_time; +static int64_t current_time_rel; + AVIOContext *progress_avio = NULL; static uint8_t *subtitle_out; @@ -608,6 +610,7 @@ static void update_benchmark(const char *fmt, ...) { if (do_benchmark_all) { int64_t t = getutime(); + int64_t t_rel = av_gettime_relative(); va_list va; char buf[1024]; @@ -615,8 +618,10 @@ static void update_benchmark(const char *fmt, ...) va_start(va, fmt); vsnprintf(buf, sizeof(buf), fmt, va); va_end(va); - av_log(NULL, AV_LOG_INFO, "bench: %8"PRIu64" %s \n", t - current_time, buf); + av_log(NULL, AV_LOG_INFO, "bench: %8"PRIu64" %8"PRIu64" %s \n", + t - current_time, t_rel - current_time_rel, buf); } + current_time_rel = t_rel; current_time = t; } } -- 1.9.1 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel