Fix timestamp overflow issues
authorYue Chen <yuec@google.com>
Fri, 12 Apr 2019 22:30:05 +0000 (15:30 -0700)
committerYue Chen <yuec@google.com>
Tue, 18 Jun 2019 17:41:10 +0000 (10:41 -0700)
commit11de1b838135307e7c02f7fde82ccd35d9ae4cad
treecca4e3436dcaaca865dcb1b12073c0f0bad1b65f
parent6ae06316c70a616bcfe18253dd30421c886867dd
Fix timestamp overflow issues

- Save the initial user-specified timestamp and rebase all further
timestamps by this value. This makes libvpx internal timestamps to
always start from zero, regardless of the user's timestamps.
- Calculate reduced timestamp conversion ratio and use it to convert
user's timestamps to libvpx internal timestamps and back. The effect
of this is that integer overflow due to multiplication doesn't
happen for a much longer time.

BUG=webm:701

Change-Id: Ic6f5eacd9a7c21b95707d31ee2da77dc8ac7dccf
test/timestamp_test.cc
vp8/encoder/onyx_int.h
vp8/vp8_cx_iface.c
vp9/vp9_cx_iface.c
vpx_util/vpx_timestamp.h [new file with mode: 0644]
vpx_util/vpx_util.mk