Force recode if framesize exceeds max allowed size
authorDebargha Mukherjee <debargha@google.com>
Thu, 27 Oct 2016 05:40:59 +0000 (22:40 -0700)
committerDebargha Mukherjee <debargha@google.com>
Thu, 27 Oct 2016 16:52:51 +0000 (09:52 -0700)
Fixes a case where recode is not triggered based on the value
of maxq passed into the recode loop test function.

BUG=b/32375284

Change-Id: I15ad985d0525c68e0443cfaf842440d2754b2266

vp9/encoder/vp9_encoder.c

index 4aa24b4..c12f95c 100644 (file)
@@ -2441,6 +2441,8 @@ static int recode_loop_test(VP9_COMP *cpi, int high_limit, int low_limit, int q,
       cpi->resize_pending = 1;
       return 1;
     }
+    // Force recode if projected_frame_size > max_frame_bandwidth
+    if (rc->projected_frame_size >= rc->max_frame_bandwidth) return 1;
 
     // TODO(agrange) high_limit could be greater than the scale-down threshold.
     if ((rc->projected_frame_size > high_limit && q < maxq) ||