Fix rollover and pass 1 time estimate
Fixes a rollover of the cx_time variable for encodes that take
over ~4200 seconds. Also enable the time estimate in first pass.
Change-Id: Ib5a98ee71bccd79a804d709cec7260651d0b7141
diff --git a/vpxenc.c b/vpxenc.c
index 2f3b635..085a079 100644
--- a/vpxenc.c
+++ b/vpxenc.c
@@ -2450,7 +2450,7 @@
struct global_config global;
struct stream_state *streams = NULL;
char **argv, **argi;
- unsigned long cx_time = 0;
+ uint64_t cx_time = 0;
int stream_cnt = 0;
int res = 0;
@@ -2587,7 +2587,7 @@
else
fprintf(stderr, "frame %4d ", frames_in);
- fprintf(stderr, "%7lu %s %.2f %s ",
+ fprintf(stderr, "%7"PRId64" %s %.2f %s ",
cx_time > 9999999 ? cx_time / 1000 : cx_time,
cx_time > 9999999 ? "ms" : "us",
fps >= 1.0 ? fps : 1000.0 / fps,
@@ -2605,7 +2605,7 @@
frame_avail ? &raw : NULL,
frames_in));
vpx_usec_timer_mark(&timer);
- cx_time += (unsigned long)vpx_usec_timer_elapsed(&timer);
+ cx_time += vpx_usec_timer_elapsed(&timer);
FOREACH_STREAM(update_quantizer_histogram(stream));
@@ -2614,7 +2614,7 @@
if (!got_data && input.length && !streams->frames_out) {
lagged_count = global.limit ? frames_in : ftello(input.file);
- } else if (got_data && input.length) {
+ } else if (input.length) {
int64_t remaining;
int64_t rate;