Commit d133524e authored by Jingning Han's avatar Jingning Han

Fix a rdcost computation issue in sub8x8 block mode search

Compute the rate-distortion cost for sub8x8 blocks with integer
motion vectors.

Change-Id: I7dc034fcc4bec3850f26d1f9ae0595c91df1137e
parent 59d45d60
......@@ -5290,13 +5290,6 @@ static int64_t rd_pick_best_sub8x8_mode(VP10_COMP *cpi, MACROBLOCK *x,
if (!subpelmv && have_ref &&
ref_bsi->rdstat[i][mode_idx].brdcost < INT64_MAX) {
#if CONFIG_REF_MV
bsi->rdstat[i][mode_idx].pred_mv[0].as_int =
bsi->ref_mv[0]->as_int;
if (has_second_rf)
bsi->rdstat[i][mode_idx].pred_mv[1].as_int =
bsi->ref_mv[1]->as_int;
bsi->rdstat[i][mode_idx].byrate =
ref_bsi->rdstat[i][mode_idx].byrate;
bsi->rdstat[i][mode_idx].bdist =
......@@ -5307,6 +5300,11 @@ static int64_t rd_pick_best_sub8x8_mode(VP10_COMP *cpi, MACROBLOCK *x,
ref_bsi->rdstat[i][mode_idx].byrate;
bsi->rdstat[i][mode_idx].eobs =
ref_bsi->rdstat[i][mode_idx].eobs;
bsi->rdstat[i][mode_idx].brdcost =
RDCOST(x->rdmult, x->rddiv, bsi->rdstat[i][mode_idx].brate,
bsi->rdstat[i][mode_idx].bdist);
memcpy(bsi->rdstat[i][mode_idx].ta,
ref_bsi->rdstat[i][mode_idx].ta,
sizeof(bsi->rdstat[i][mode_idx].ta));
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment