av1_copy_pc_tree_recursive: copy ref_mv_bank and warp_param_bank av1_copy_pc_tree_recursive() function is called from av1_rd_pick_partition() when we find a counterpart block. In that case, we copy the two banks to `xd`, but the copying inside `pc_tree` nodes was missing.
diff --git a/av1/encoder/context_tree.c b/av1/encoder/context_tree.c index f8e4822..5da7ab7 100644 --- a/av1/encoder/context_tree.c +++ b/av1/encoder/context_tree.c
@@ -315,6 +315,13 @@ dst->rd_cost = src->rd_cost; dst->none_rd = src->none_rd; dst->skippable = src->skippable; +#if CONFIG_C043_MVP_IMPROVEMENTS + dst->ref_mv_bank = src->ref_mv_bank; +#endif // CONFIG_C043_MVP_IMPROVEMENTS +#if WARP_CU_BANK + dst->warp_param_bank = src->warp_param_bank; +#endif // WARP_CU_BANK + const BLOCK_SIZE bsize = dst->block_size; const BLOCK_SIZE subsize = get_partition_subsize(bsize, src->partitioning); const int mi_row = src->mi_row;