]> granicus.if.org Git - libvpx/commitdiff
Fix 32-bit build for tpl model
authorJingning Han <jingning@google.com>
Tue, 17 Jul 2018 03:44:16 +0000 (20:44 -0700)
committerJingning Han <jingning@google.com>
Tue, 17 Jul 2018 16:13:26 +0000 (09:13 -0700)
Clear system state to avoid encoding failure in 32-bit build.

BUG=webm:1547

Change-Id: Ia74c789d1993da09bc400baf24e971e19752e3c3

vp9/encoder/vp9_encodeframe.c

index e23a81b968a6b24a1d18531bc1c2018c9ca2eb3a..d90391b5b79e83b24e4bb8810db85c9c0dc86653 100644 (file)
@@ -3633,8 +3633,6 @@ int get_rdmult_delta(VP9_COMP *cpi, BLOCK_SIZE bsize, int mi_row, int mi_col,
 
   if (cpi->common.show_frame) return orig_rdmult;
 
-  r0 = cpi->rd.r0;
-
   for (row = mi_row; row < mi_row + mi_high; ++row) {
     for (col = mi_col; col < mi_col + mi_wide; ++col) {
       TplDepStats *this_stats = &tpl_stats[row * tpl_stride + col];
@@ -3648,6 +3646,9 @@ int get_rdmult_delta(VP9_COMP *cpi, BLOCK_SIZE bsize, int mi_row, int mi_col,
     }
   }
 
+  vpx_clear_system_state();
+
+  r0 = cpi->rd.r0;
   rk = (double)intra_cost / mc_dep_cost;
   beta = r0 / rk;
   dr = vp9_get_adaptive_rdmult(cpi, beta);
@@ -3656,6 +3657,7 @@ int get_rdmult_delta(VP9_COMP *cpi, BLOCK_SIZE bsize, int mi_row, int mi_col,
   dr = VPXMAX(dr, orig_rdmult * 1 / 2);
 
   dr = VPXMAX(1, dr);
+
   return dr;
 }
 
@@ -5459,6 +5461,8 @@ static void encode_frame_internal(VP9_COMP *cpi) {
       }
     }
 
+    vpx_clear_system_state();
+
     if (tpl_frame->is_valid)
       cpi->rd.r0 = (double)intra_cost_base / mc_dep_cost_base;
   }