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();
--
⑨