Commit fc9f3ccd authored by Debargha Mukherjee's avatar Debargha Mukherjee

Ensure consistent border extension before LR

Before LR the border extension needs to be consistent.
Otherwise there will be inconsistency at the frame boundaries
causing mismatches.

BUG=aomedia:742
BUG=aomedia:744
BUG=aomedia:745

Change-Id: I5b0c51aa1493c58f7acc706bf686ce711eadd75d
parent 5a5e1adb
......@@ -5363,7 +5363,6 @@ void av1_decode_frame(AV1Decoder *pbi, const uint8_t *data,
*p_data_end = decode_tiles(pbi, data + first_partition_size, data_end);
}
aom_extend_frame_borders(new_fb);
#if CONFIG_CDEF
if (!cm->skip_loop_filter && !cm->all_lossless) {
av1_cdef_frame(&pbi->cur_buf->buf, cm, &pbi->mb);
......@@ -5378,6 +5377,7 @@ void av1_decode_frame(AV1Decoder *pbi, const uint8_t *data,
if (cm->rst_info[0].frame_restoration_type != RESTORE_NONE ||
cm->rst_info[1].frame_restoration_type != RESTORE_NONE ||
cm->rst_info[2].frame_restoration_type != RESTORE_NONE) {
aom_extend_frame_borders(new_fb);
av1_loop_restoration_frame(new_fb, cm, cm->rst_info, 7, 0, NULL);
}
#endif // CONFIG_LOOP_RESTORATION
......
......@@ -4183,7 +4183,6 @@ static void loopfilter_frame(AV1_COMP *cpi, AV1_COMMON *cm) {
av1_loop_filter_frame(cm->frame_to_show, cm, xd, lf->filter_level, 0, 0);
#endif
}
aom_extend_frame_borders(cm->frame_to_show);
#if CONFIG_CDEF
if (is_lossless_requested(&cpi->oxcf)) {
......@@ -4205,6 +4204,7 @@ static void loopfilter_frame(AV1_COMP *cpi, AV1_COMMON *cm) {
#endif // CONFIG_FRAME_SUPERRES
#if CONFIG_LOOP_RESTORATION
aom_extend_frame_borders(cm->frame_to_show);
av1_pick_filter_restoration(cpi->source, cpi, cpi->sf.lpf_pick);
if (cm->rst_info[0].frame_restoration_type != RESTORE_NONE ||
cm->rst_info[1].frame_restoration_type != RESTORE_NONE ||
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment