Remove rst_end_stripe in struct AV1Common
cm->rst_end_stripe is for loop restoration, but it can be removed since
loop restoration is working on whole frame.
Change-Id: I2142d2c45968de29c0fca6a8cab48bbddb368876
diff --git a/av1/common/alloccommon.c b/av1/common/alloccommon.c
index 98d50db..c2a87a2 100644
--- a/av1/common/alloccommon.c
+++ b/av1/common/alloccommon.c
@@ -134,7 +134,6 @@
const int ext_h = RESTORATION_UNIT_OFFSET + (mi_h << MI_SIZE_LOG2);
const int tile_stripes = (ext_h + 63) / 64;
num_stripes += tile_stripes;
- cm->rst_end_stripe[i] = num_stripes;
}
// Now we need to allocate enough space to store the line buffers for the
diff --git a/av1/common/onyxc_int.h b/av1/common/onyxc_int.h
index e38988d..cc34dd6 100644
--- a/av1/common/onyxc_int.h
+++ b/av1/common/onyxc_int.h
@@ -405,10 +405,6 @@
int superres_upscaled_height;
RestorationInfo rst_info[MAX_MB_PLANE];
- // rst_end_stripe[i] is one more than the index of the bottom stripe
- // for tile row i.
- int rst_end_stripe[MAX_TILE_ROWS];
-
// Pointer to a scratch buffer used by self-guided restoration
int32_t *rst_tmpbuf;
RestorationLineBuffers *rlbs;
diff --git a/av1/common/restoration.c b/av1/common/restoration.c
index d276a91..0727cf9 100644
--- a/av1/common/restoration.c
+++ b/av1/common/restoration.c
@@ -1072,13 +1072,6 @@
}
}
-static void filter_frame_on_tile(int tile_row, int tile_col, void *priv,
- AV1_COMMON *cm) {
- (void)tile_col;
- FilterFrameCtxt *ctxt = (FilterFrameCtxt *)priv;
- ctxt->tile_stripe0 = (tile_row == 0) ? 0 : cm->rst_end_stripe[tile_row - 1];
-}
-
static void filter_frame_on_unit(const RestorationTileLimits *limits,
const AV1PixelRect *tile_rect,
int rest_unit_idx, void *priv, int32_t *tmpbuf,
@@ -1141,7 +1134,7 @@
lr_plane_ctxt->data_stride = frame->strides[is_uv];
lr_plane_ctxt->dst_stride = lr_ctxt->dst->strides[is_uv];
lr_plane_ctxt->tile_rect = av1_whole_frame_rect(cm, is_uv);
- filter_frame_on_tile(LR_TILE_ROW, LR_TILE_COL, lr_plane_ctxt, cm);
+ lr_plane_ctxt->tile_stripe0 = 0;
}
}
diff --git a/av1/encoder/pickrst.c b/av1/encoder/pickrst.c
index 8f013a5..3885ad5 100644
--- a/av1/encoder/pickrst.c
+++ b/av1/encoder/pickrst.c
@@ -116,15 +116,11 @@
AV1PixelRect tile_rect;
} RestSearchCtxt;
-static void rsc_on_tile(int tile_row, int tile_col, void *priv) {
- (void)tile_col;
-
+static void rsc_on_tile(void *priv) {
RestSearchCtxt *rsc = (RestSearchCtxt *)priv;
set_default_sgrproj(&rsc->sgrproj);
set_default_wiener(&rsc->wiener);
-
- rsc->tile_stripe0 =
- (tile_row == 0) ? 0 : rsc->cm->rst_end_stripe[tile_row - 1];
+ rsc->tile_stripe0 = 0;
}
static void reset_rsc(RestSearchCtxt *rsc) {
@@ -1460,7 +1456,8 @@
};
reset_rsc(rsc);
- rsc_on_tile(LR_TILE_ROW, LR_TILE_COL, rsc);
+ rsc_on_tile(rsc);
+
av1_foreach_rest_unit_in_plane(rsc->cm, rsc->plane, funs[rtype], rsc,
&rsc->tile_rect, rsc->cm->rst_tmpbuf, NULL);
return RDCOST_DBL(rsc->x->rdmult, rsc->bits >> 4, rsc->sse);