ref: 6facdfdd7d04b0b5848518cbbc47fb1e8e6acff5
parent: 5ac97d101df2a3789190b56e55e9daf4800bb1f2
parent: 68d79146ea791783ac7d89dcdbef8c11a93d2b12
author: Jingning Han <[email protected]>
date: Wed Sep 10 10:46:19 EDT 2014
Merge "Fix a bug in vp9_rd_pick_inter_mode_sb"
--- a/vp9/encoder/vp9_rdopt.c
+++ b/vp9/encoder/vp9_rdopt.c
@@ -2575,6 +2575,7 @@
vp9_prob comp_mode_p;
int64_t best_intra_rd = INT64_MAX;
int64_t best_inter_rd = INT64_MAX;
+ unsigned int best_pred_sse = UINT_MAX;
PREDICTION_MODE best_intra_mode = DC_PRED;
MV_REFERENCE_FRAME best_inter_ref_frame = LAST_FRAME;
int rate_uv_intra[TX_SIZES], rate_uv_tokenonly[TX_SIZES];
@@ -2804,7 +2805,7 @@
if (ref_frame == INTRA_FRAME) {
if (cpi->sf.adaptive_mode_search)
- if ((x->source_variance << num_pels_log2_lookup[bsize]) > best_intra_rd)
+ if ((x->source_variance << num_pels_log2_lookup[bsize]) > best_pred_sse)
continue;
if (!(intra_y_mode_mask & (1 << this_mode)))
@@ -2983,7 +2984,7 @@
mbmi->mv[0].as_int = 0;
max_plane = 1;
} else {
- best_intra_rd = x->pred_sse[ref_frame];
+ best_pred_sse = x->pred_sse[ref_frame];
}
*returnrate = rate2;