ref: ed100c0b007684d1432f16cce3b171e3a76691c0
parent: f3a5de816da1ddd41029ed3b4b29f5adfdc4764e
author: Jingning Han <[email protected]>
date: Thu Oct 16 05:19:42 EDT 2014
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
--- a/vp9/encoder/vp9_rdopt.c
+++ b/vp9/encoder/vp9_rdopt.c
@@ -1140,12 +1140,14 @@
*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;