Commit 38b1bc45 authored by Jingning Han's avatar Jingning Han

Fix update_state_supertx() motion vector update

This allows the cb4x4 mode to work with ref-mv and supertx modes.

Change-Id: Ib9747d2c8a2b036fb246ca04bf7cc8c8f40931bf
parent 2511c661
......@@ -1010,7 +1010,6 @@ void av1_setup_pre_planes(MACROBLOCKD *xd, int idx,
static const uint8_t mask_4[4] = { 64, 62, 12, 0 };
static const uint8_t mask_4_uv[4] = { 64, 62, 12, 0 };
#endif // CONFIG_CB4X4
static const uint8_t mask_8[8] = { 64, 64, 62, 52, 12, 2, 0, 0 };
static const uint8_t mask_16[16] = { 63, 62, 60, 58, 55, 50, 43, 36,
......
......@@ -1263,7 +1263,10 @@ static void update_state_supertx(const AV1_COMP *const cpi, ThreadData *td,
#if CONFIG_REF_MV
rf_type = av1_ref_frame_type(mbmi->ref_frame);
if (x->mbmi_ext->ref_mv_count[rf_type] > 1 && mbmi->sb_type >= BLOCK_8X8 &&
if (x->mbmi_ext->ref_mv_count[rf_type] > 1 &&
#if !CONFIG_CB4X4
mbmi->sb_type >= BLOCK_8X8 &&
#endif // !CONFIG_CB4X4
mbmi->mode == NEWMV) {
for (i = 0; i < 1 + has_second_ref(mbmi); ++i) {
int_mv this_mv =
......@@ -1308,10 +1311,12 @@ static void update_state_supertx(const AV1_COMP *const cpi, ThreadData *td,
xd->mi[x_idx + y * mis] = mi_addr;
}
#if !CONFIG_CB4X4
if (is_inter_block(mbmi) && mbmi->sb_type < BLOCK_8X8) {
mbmi->mv[0].as_int = mi->bmi[3].as_mv[0].as_int;
mbmi->mv[1].as_int = mi->bmi[3].as_mv[1].as_int;
}
#endif
x->skip = ctx->skip;
......
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