Add an early termination check in handle_inter_mode
Check the mode and motion vector cost. If it is already above the existing best rate-distortion cost, skip the rest check process on this mode. Change-Id: Ie065cebdfda2a3be3be18b8e8b43dc29aaa8c179
This commit is contained in:
parent
ec7ce316d2
commit
cd228fcdb8
@ -2236,6 +2236,10 @@ static int64_t handle_inter_mode(VP9_COMP *cpi, MACROBLOCK *x,
|
||||
* if the first is known */
|
||||
*rate2 += cost_mv_ref(cpi, this_mode, mbmi->mode_context[refs[0]]);
|
||||
|
||||
if (RDCOST(x->rdmult, x->rddiv, *rate2, 0) > ref_best_rd &&
|
||||
mbmi->mode != NEARESTMV)
|
||||
return INT64_MAX;
|
||||
|
||||
pred_exists = 0;
|
||||
// Are all MVs integer pel for Y and UV
|
||||
intpel_mv = !mv_has_subpel(&mbmi->mv[0].as_mv);
|
||||
|
Loading…
x
Reference in New Issue
Block a user