Revert "Rework cdef skipping"
This reverts commit 398f64ecfa79421e76cf1b2b564d3bc4e5e6bfcb.
Reason for revert: bdrate regression on speed 9
Change-Id: I292ecc2a4d8feb86a93b3f3c8f2385d450b8126a
diff --git a/av1/encoder/encodeframe.c b/av1/encoder/encodeframe.c
index 12c62b0..c76c9d7 100644
--- a/av1/encoder/encodeframe.c
+++ b/av1/encoder/encodeframe.c
@@ -554,6 +554,20 @@
sf->part_sf.partition_search_type == VAR_BASED_PARTITION);
set_cb_offsets(td->mb.cb_offset, 0, 0);
+ // Initialize the flag to skip cdef for 64x64 blocks: if color sensitivy is
+ // on, set to 0 (don't skip).
+ if (sf->rt_sf.skip_cdef_sb) {
+ const int block64_in_sb = (sb_size == BLOCK_128X128) ? 2 : 1;
+ for (int r = 0; r < block64_in_sb; ++r) {
+ for (int c = 0; c < block64_in_sb; ++c) {
+ const int idx_in_sb =
+ r * MI_SIZE_64X64 * cm->mi_params.mi_stride + c * MI_SIZE_64X64;
+ if (mi[idx_in_sb])
+ mi[idx_in_sb]->skip_cdef_curr_sb =
+ !(x->color_sensitivity_sb[0] || x->color_sensitivity_sb[1]);
+ }
+ }
+ }
// Adjust and encode the superblock
PC_TREE *const pc_root = av1_alloc_pc_tree_node(sb_size);
av1_nonrd_use_partition(cpi, td, tile_data, mi, tp, mi_row, mi_col, sb_size,
diff --git a/av1/encoder/partition_search.c b/av1/encoder/partition_search.c
index 21658dd..a401a38 100644
--- a/av1/encoder/partition_search.c
+++ b/av1/encoder/partition_search.c
@@ -2132,8 +2132,6 @@
MB_MODE_INFO **mi_sb =
cm->mi_params.mi_grid_base +
get_mi_grid_idx(&cm->mi_params, mi_row_sb, mi_col_sb);
- mi_sb[0]->skip_cdef_curr_sb =
- !(x->color_sensitivity[0] || x->color_sensitivity[1]);
// Do not skip if intra or new mv is picked.
const int skip = mi_sb[0]->skip_cdef_curr_sb &&
!(mbmi->mode < INTRA_MODES || mbmi->mode == NEWMV);