shithub: libvpx

Download patch

ref: 09775194ffdb84b4979f3988e7ef301575b661df
parent: 8a6fbc0b4eb8538e213782bcdc3969a08b44e73b
author: Jerome Jiang <jianj@google.com>
date: Mon Sep 20 09:37:43 EDT 2021

Cap duration to avoid overflow

Bug: webm:1728
Change-Id: Id13475660fa921e8ddcc89847e978da4c8d85886

--- a/vp8/encoder/onyx_if.c
+++ b/vp8/encoder/onyx_if.c
@@ -4921,6 +4921,8 @@
 
       this_duration = cpi->source->ts_end - cpi->last_end_time_stamp_seen;
       last_duration = cpi->last_end_time_stamp_seen - cpi->last_time_stamp_seen;
+      // Cap this to avoid overflow of (this_duration - last_duration) * 10
+      this_duration = VPXMIN(this_duration, INT64_MAX / 10);
       /* do a step update if the duration changes by 10% */
       if (last_duration) {
         step = (int)(((this_duration - last_duration) * 10 / last_duration));