shithub: libvpx

Download patch

ref: 8c2dfde3ed0c6e99ec20b9a4f85e2e4772a956ba
parent: 0a49747b01401900272ccf0dfbb6481429707ad5
author: Frank Galligan <fgalligan@google.com>
date: Wed Nov 3 19:33:00 EDT 2010

Fixed bug first cluster timecode of webm file is wrong.

When the first pts equaled 0 ivfenc was incorrectly increasing the
pts by 1. I changed the pts and last pts to be signed. I also set
the default value of last pts to -1.

Change-Id: I30bcec5af9b16d93fa9e3abbea7764b133e9cd73

--- a/vpxenc.c
+++ b/vpxenc.c
@@ -435,7 +435,7 @@
     int debug;
 
     FILE    *stream;
-    uint64_t last_pts_ms;
+    int64_t last_pts_ms;
     vpx_rational_t  framerate;
 
     /* These pointers are to the start of an element */
@@ -648,7 +648,7 @@
     unsigned char  track_number;
     unsigned short block_timecode = 0;
     unsigned char  flags;
-    uint64_t       pts_ms;
+    int64_t        pts_ms;
     int            start_cluster = 0, is_keyframe;
 
     /* Calculate the PTS of this frame in milliseconds */
@@ -1074,6 +1074,7 @@
     int                      psnr_count = 0;
 
     exec_name = argv_[0];
+    ebml.last_pts_ms = -1;
 
     if (argc < 3)
         usage_exit();
--