From 81cd335bb85164db0e4021bf4cf9198fd79d0990 Mon Sep 17 00:00:00 2001 From: Jingning Han Date: Mon, 16 Jul 2018 20:44:16 -0700 Subject: [PATCH] Fix 32-bit build for tpl model Clear system state to avoid encoding failure in 32-bit build. BUG=webm:1547 Change-Id: Ia74c789d1993da09bc400baf24e971e19752e3c3 --- vp9/encoder/vp9_encodeframe.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/vp9/encoder/vp9_encodeframe.c b/vp9/encoder/vp9_encodeframe.c index e23a81b96..d90391b5b 100644 --- a/vp9/encoder/vp9_encodeframe.c +++ b/vp9/encoder/vp9_encodeframe.c @@ -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; } -- 2.40.0