Clean up intra uv search function Change-Id: Ia74773c03ada8520f31c6d0a5e331e4ad026abbb
diff --git a/av1/encoder/intra_mode_search.c b/av1/encoder/intra_mode_search.c index 9b8042e..f014553 100644 --- a/av1/encoder/intra_mode_search.c +++ b/av1/encoder/intra_mode_search.c
@@ -1417,26 +1417,24 @@ cpi->oxcf.tool_cfg.enable_palette && av1_allow_palette(cm->features.allow_screen_content_tools, mbmi->bsize); assert(intra_search_state->rate_uv_intra == INT_MAX); - if (intra_search_state->rate_uv_intra == INT_MAX) { - // If no good uv-predictor had been found, search for it. - const TX_SIZE uv_tx = av1_get_tx_size(AOM_PLANE_U, xd); - av1_rd_pick_intra_sbuv_mode(cpi, x, &intra_search_state->rate_uv_intra, - &intra_search_state->rate_uv_tokenonly, - &intra_search_state->dist_uvs, - &intra_search_state->skip_uvs, bsize, uv_tx); - intra_search_state->mode_uv = mbmi->uv_mode; - if (try_palette) intra_search_state->pmi_uv = *pmi; - intra_search_state->uv_angle_delta = mbmi->angle_delta[PLANE_TYPE_UV]; + // If no good uv-predictor had been found, search for it. + const TX_SIZE uv_tx = av1_get_tx_size(AOM_PLANE_U, xd); + av1_rd_pick_intra_sbuv_mode(cpi, x, &intra_search_state->rate_uv_intra, + &intra_search_state->rate_uv_tokenonly, + &intra_search_state->dist_uvs, + &intra_search_state->skip_uvs, bsize, uv_tx); + intra_search_state->mode_uv = mbmi->uv_mode; + if (try_palette) intra_search_state->pmi_uv = *pmi; + intra_search_state->uv_angle_delta = mbmi->angle_delta[PLANE_TYPE_UV]; - const int uv_rate = intra_search_state->rate_uv_tokenonly; - const int64_t uv_dist = intra_search_state->dist_uvs; - const int64_t uv_rd = RDCOST(x->rdmult, uv_rate, uv_dist); - if (uv_rd > best_rd) { - // If there is no good intra uv-mode available, we can skip all intra - // modes. - intra_search_state->skip_intra_modes = 1; - return 0; - } + const int uv_rate = intra_search_state->rate_uv_tokenonly; + const int64_t uv_dist = intra_search_state->dist_uvs; + const int64_t uv_rd = RDCOST(x->rdmult, uv_rate, uv_dist); + if (uv_rd > best_rd) { + // If there is no good intra uv-mode available, we can skip all intra + // modes. + intra_search_state->skip_intra_modes = 1; + return 0; } // If we are here, then the encoder has found at least one good intra uv
diff --git a/av1/encoder/rdopt.c b/av1/encoder/rdopt.c index 570d5dc..59b8fa5 100644 --- a/av1/encoder/rdopt.c +++ b/av1/encoder/rdopt.c
@@ -3649,7 +3649,7 @@ } if (rd_cost->rate == INT_MAX) return; - ctx->mic = *xd->mi[0]; + ctx->mic = *mbmi; av1_copy_mbmi_ext_to_mbmi_ext_frame(&ctx->mbmi_ext_best, &x->mbmi_ext, av1_ref_frame_type(xd->mi[0]->ref_frame)); av1_copy_array(ctx->tx_type_map, xd->tx_type_map, ctx->num_4x4_blk);