shithub: libvpx

Download patch

ref: 406ec6b62e84141739ecc0fd75456110dc1dd2ae
parent: 7dfec96059b65df2b8073f519a9e082ff3bd2f94
author: John Koleszar <jkoleszar@google.com>
date: Wed Feb 27 06:14:23 EST 2013

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

--- a/vpxenc.c
+++ b/vpxenc.c
@@ -2460,7 +2460,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;
 
@@ -2601,7 +2601,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,
@@ -2619,7 +2619,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));
 
@@ -2628,7 +2628,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;