From 6d1513274296d0d7846604c29c94b51d36b8c0b6 Mon Sep 17 00:00:00 2001 From: James Yu Date: Sat, 22 Feb 2014 14:51:11 +0800 Subject: [PATCH] Change dx_time data type in vpxdec.c Change dx_time data type to int64_t to prevent test time overflow when decoding long video. Change-Id: I3dd5e324a246843e07e635fd25c50e71e385ed70 Signed-off-by: James Yu --- vpxdec.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/vpxdec.c b/vpxdec.c index 660f6136f..d99b5aa93 100644 --- a/vpxdec.c +++ b/vpxdec.c @@ -298,10 +298,11 @@ int file_is_raw(struct VpxInputContext *input) { return is_raw; } -void show_progress(int frame_in, int frame_out, unsigned long dx_time) { - fprintf(stderr, "%d decoded frames/%d showed frames in %lu us (%.2f fps)\r", +void show_progress(int frame_in, int frame_out, uint64_t dx_time) { + fprintf(stderr, + "%d decoded frames/%d showed frames in %"PRId64" us (%.2f fps)\r", frame_in, frame_out, dx_time, - (float)frame_out * 1000000.0 / (float)dx_time); + (double)frame_out * 1000000.0 / (double)dx_time); } struct ExternalFrameBuffer { @@ -493,7 +494,7 @@ int main_loop(int argc, const char **argv_) { int ec_enabled = 0; const VpxInterface *interface = NULL; const VpxInterface *fourcc_interface = NULL; - unsigned long dx_time = 0; + uint64_t dx_time = 0; struct arg arg; char **argv, **argi, **argj; @@ -803,7 +804,7 @@ int main_loop(int argc, const char **argv_) { } vpx_usec_timer_mark(&timer); - dx_time += (unsigned int)vpx_usec_timer_elapsed(&timer); + dx_time += vpx_usec_timer_elapsed(&timer); } }