Add extra resize trigger for frames above maximum allowed size.
authorpaulwilkins <paulwilkins@google.com>
Tue, 30 Jun 2015 09:18:42 +0000 (10:18 +0100)
committerpaulwilkins <paulwilkins@google.com>
Wed, 8 Jul 2015 17:15:10 +0000 (18:15 +0100)
Even if the recode loop is not enabled for the current frame type
trap the case where the projected size of a a frame is above the
maximum allowed in recode_loop_test()

Change-Id: I453004694b8f8699e3c2a83252e9f83adccdda4e

vp9/encoder/vp9_encoder.c

index f27f57a..fb8cd59 100644 (file)
@@ -2627,9 +2627,10 @@ static int recode_loop_test(VP9_COMP *cpi,
   const int frame_is_kfgfarf = frame_is_kf_gf_arf(cpi);
   int force_recode = 0;
 
-  if ((cpi->sf.recode_loop == ALLOW_RECODE) ||
+  if ((rc->projected_frame_size >= rc->max_frame_bandwidth) ||
+      (cpi->sf.recode_loop == ALLOW_RECODE) ||
       (frame_is_kfgfarf &&
-      (cpi->sf.recode_loop == ALLOW_RECODE_KFARFGF))) {
+       (cpi->sf.recode_loop == ALLOW_RECODE_KFARFGF))) {
     if (frame_is_kfgfarf &&
         (oxcf->resize_mode == RESIZE_DYNAMIC) &&
         scale_down(cpi, q)) {