Refactoring deringed block list code
Using a struct named dlist rather than an array named bskip. Simplified some
code.
No change in output
Change-Id: Id40d40b19b5d8f2ebafe347590fa1bb8cb80e6e1
diff --git a/av1/encoder/pickdering.c b/av1/encoder/pickdering.c
index 0b65740..7399086 100644
--- a/av1/encoder/pickdering.c
+++ b/av1/encoder/pickdering.c
@@ -43,7 +43,7 @@
int nhsb, nvsb;
od_dering_in *src;
int16_t *ref_coeff;
- unsigned char bskip[MAX_MIB_SIZE*MAX_MIB_SIZE][2];
+ dering_list dlist[MAX_MIB_SIZE*MAX_MIB_SIZE];
int dir[OD_DERING_NBLOCKS][OD_DERING_NBLOCKS] = { { 0 } };
int stride;
int bsize[3];
@@ -101,7 +101,9 @@
int16_t tmp_dst[MAX_MIB_SIZE * MAX_MIB_SIZE * 8 * 8];
nhb = AOMMIN(MAX_MIB_SIZE, cm->mi_cols - MAX_MIB_SIZE * sbc);
nvb = AOMMIN(MAX_MIB_SIZE, cm->mi_rows - MAX_MIB_SIZE * sbr);
- if (sb_all_skip_out(cm, sbr * MAX_MIB_SIZE, sbc * MAX_MIB_SIZE, bskip, &dering_count))
+ dering_count = sb_compute_dering_list(cm, sbr * MAX_MIB_SIZE, sbc * MAX_MIB_SIZE,
+ dlist);
+ if (dering_count == 0)
continue;
best_gi = 0;
for (gi = 0; gi < DERING_REFINEMENT_LEVELS; gi++) {
@@ -134,9 +136,9 @@
in[i * OD_FILT_BSTRIDE + j] = x[i * stride + j];
}
}
- od_dering(tmp_dst, in, 0, dir, 0, bskip, dering_count, threshold,
+ od_dering(tmp_dst, in, 0, dir, 0, dlist, dering_count, threshold,
coeff_shift);
- copy_blocks_16bit(dst, MAX_MIB_SIZE << bsize[0], tmp_dst, bskip,
+ copy_blocks_16bit(dst, MAX_MIB_SIZE << bsize[0], tmp_dst, dlist,
dering_count, 3);
cur_mse = (int)compute_dist(
dst, MAX_MIB_SIZE << bsize[0],