Fix update_state_supertx() motion vector update This allows the cb4x4 mode to work with ref-mv and supertx modes. Change-Id: Ib9747d2c8a2b036fb246ca04bf7cc8c8f40931bf
diff --git a/av1/common/reconinter.c b/av1/common/reconinter.c index 9ab935d..aff3df2 100644 --- a/av1/common/reconinter.c +++ b/av1/common/reconinter.c
@@ -1010,7 +1010,6 @@ 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,
diff --git a/av1/encoder/encodeframe.c b/av1/encoder/encodeframe.c index 3298198..cf4f9aa 100644 --- a/av1/encoder/encodeframe.c +++ b/av1/encoder/encodeframe.c
@@ -1263,7 +1263,10 @@ #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 @@ 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;