Commit a194e9c4 authored by Tobias Rapp's avatar Tobias Rapp

fftools/ffmpeg: fix progress log message in case pts is not available

Also fixes sign prefix for progress report.
Signed-off-by: 's avatarTobias Rapp <t.rapp@noa-archive.com>
parent 133ddd38
...@@ -1650,6 +1650,7 @@ static void print_report(int is_last_report, int64_t timer_start, int64_t cur_ti ...@@ -1650,6 +1650,7 @@ static void print_report(int is_last_report, int64_t timer_start, int64_t cur_ti
static int64_t last_time = -1; static int64_t last_time = -1;
static int qp_histogram[52]; static int qp_histogram[52];
int hours, mins, secs, us; int hours, mins, secs, us;
const char *hours_sign;
int ret; int ret;
float t; float t;
...@@ -1757,6 +1758,7 @@ static void print_report(int is_last_report, int64_t timer_start, int64_t cur_ti ...@@ -1757,6 +1758,7 @@ static void print_report(int is_last_report, int64_t timer_start, int64_t cur_ti
secs %= 60; secs %= 60;
hours = mins / 60; hours = mins / 60;
mins %= 60; mins %= 60;
hours_sign = (pts < 0) ? "-" : "";
bitrate = pts && total_size >= 0 ? total_size * 8 / (pts / 1000.0) : -1; bitrate = pts && total_size >= 0 ? total_size * 8 / (pts / 1000.0) : -1;
speed = t != 0.0 ? (double)pts / AV_TIME_BASE / t : -1; speed = t != 0.0 ? (double)pts / AV_TIME_BASE / t : -1;
...@@ -1765,11 +1767,13 @@ static void print_report(int is_last_report, int64_t timer_start, int64_t cur_ti ...@@ -1765,11 +1767,13 @@ static void print_report(int is_last_report, int64_t timer_start, int64_t cur_ti
"size=N/A time="); "size=N/A time=");
else snprintf(buf + strlen(buf), sizeof(buf) - strlen(buf), else snprintf(buf + strlen(buf), sizeof(buf) - strlen(buf),
"size=%8.0fkB time=", total_size / 1024.0); "size=%8.0fkB time=", total_size / 1024.0);
if (pts < 0) if (pts == AV_NOPTS_VALUE) {
snprintf(buf + strlen(buf), sizeof(buf) - strlen(buf), "-"); snprintf(buf + strlen(buf), sizeof(buf) - strlen(buf), "N/A ");
} else {
snprintf(buf + strlen(buf), sizeof(buf) - strlen(buf), snprintf(buf + strlen(buf), sizeof(buf) - strlen(buf),
"%02d:%02d:%02d.%02d ", hours, mins, secs, "%s%02d:%02d:%02d.%02d ", hours_sign, hours, mins, secs,
(100 * us) / AV_TIME_BASE); (100 * us) / AV_TIME_BASE);
}
if (bitrate < 0) { if (bitrate < 0) {
snprintf(buf + strlen(buf), sizeof(buf) - strlen(buf),"bitrate=N/A"); snprintf(buf + strlen(buf), sizeof(buf) - strlen(buf),"bitrate=N/A");
...@@ -1781,9 +1785,14 @@ static void print_report(int is_last_report, int64_t timer_start, int64_t cur_ti ...@@ -1781,9 +1785,14 @@ static void print_report(int is_last_report, int64_t timer_start, int64_t cur_ti
if (total_size < 0) av_bprintf(&buf_script, "total_size=N/A\n"); if (total_size < 0) av_bprintf(&buf_script, "total_size=N/A\n");
else av_bprintf(&buf_script, "total_size=%"PRId64"\n", total_size); else av_bprintf(&buf_script, "total_size=%"PRId64"\n", total_size);
if (pts == AV_NOPTS_VALUE) {
av_bprintf(&buf_script, "out_time_ms=N/A\n");
av_bprintf(&buf_script, "out_time=N/A\n");
} else {
av_bprintf(&buf_script, "out_time_ms=%"PRId64"\n", pts); av_bprintf(&buf_script, "out_time_ms=%"PRId64"\n", pts);
av_bprintf(&buf_script, "out_time=%02d:%02d:%02d.%06d\n", av_bprintf(&buf_script, "out_time=%s%02d:%02d:%02d.%06d\n",
hours, mins, secs, us); hours_sign, hours, mins, secs, us);
}
if (nb_frames_dup || nb_frames_drop) if (nb_frames_dup || nb_frames_drop)
snprintf(buf + strlen(buf), sizeof(buf) - strlen(buf), " dup=%d drop=%d", snprintf(buf + strlen(buf), sizeof(buf) - strlen(buf), " dup=%d drop=%d",
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment