From ed100c0b007684d1432f16cce3b171e3a76691c0 Mon Sep 17 00:00:00 2001 From: Jingning Han Date: Thu, 16 Oct 2014 09:19:42 -0700 Subject: [PATCH] Fix an ioc issue in super_block_uvrd This commit fixes an ioc issue that will happen when the cumulative variables are not in effective use. The fix discards these redundant additions. Change-Id: Idbac5bfb989c0cedc5f8a323effce938519b2457 --- vp9/encoder/vp9_rdopt.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/vp9/encoder/vp9_rdopt.c b/vp9/encoder/vp9_rdopt.c index 7565cc5c9..502089e6a 100644 --- a/vp9/encoder/vp9_rdopt.c +++ b/vp9/encoder/vp9_rdopt.c @@ -1140,12 +1140,14 @@ static int super_block_uvrd(const VP9_COMP *cpi, MACROBLOCK *x, *sse = 0; *skippable = 1; - for (plane = 1; plane < MAX_MB_PLANE && is_cost_valid; ++plane) { + for (plane = 1; plane < MAX_MB_PLANE; ++plane) { txfm_rd_in_plane(x, &pnrate, &pndist, &pnskip, &pnsse, ref_best_rd, plane, bsize, uv_tx_size, cpi->sf.use_fast_coef_costing); - if (pnrate == INT_MAX) + if (pnrate == INT_MAX) { is_cost_valid = 0; + break; + } *rate += pnrate; *distortion += pndist; *sse += pnsse;