Commit a8764951 authored by Jean-Marc Valin's avatar Jean-Marc Valin Committed by Jean-Marc Valin
Browse files

Avoiding extra runs through skip flags

Change-Id: Ia773950145dcee58dd99cb996c4827afd554a3a9
parent e3bc0da1
...@@ -224,8 +224,12 @@ void av1_cdef_frame(YV12_BUFFER_CONFIG *frame, AV1_COMMON *cm, ...@@ -224,8 +224,12 @@ void av1_cdef_frame(YV12_BUFFER_CONFIG *frame, AV1_COMMON *cm,
int uv_level, uv_clpf_strength; int uv_level, uv_clpf_strength;
int nhb, nvb; int nhb, nvb;
int cstart = 0; int cstart = 0;
curr_row_dering[sbc] = 0;
if (cm->mi_grid_visible[MAX_MIB_SIZE * sbr * cm->mi_stride + if (cm->mi_grid_visible[MAX_MIB_SIZE * sbr * cm->mi_stride +
MAX_MIB_SIZE * sbc] == NULL) { MAX_MIB_SIZE * sbc] == NULL ||
cm->mi_grid_visible[MAX_MIB_SIZE * sbr * cm->mi_stride +
MAX_MIB_SIZE * sbc]
->mbmi.cdef_strength == -1) {
dering_left = 0; dering_left = 0;
continue; continue;
} }
...@@ -266,7 +270,6 @@ void av1_cdef_frame(YV12_BUFFER_CONFIG *frame, AV1_COMMON *cm, ...@@ -266,7 +270,6 @@ void av1_cdef_frame(YV12_BUFFER_CONFIG *frame, AV1_COMMON *cm,
uv_clpf_strength = uv_clpf_strength =
cm->cdef_uv_strengths[mbmi_cdef_strength] % CLPF_STRENGTHS; cm->cdef_uv_strengths[mbmi_cdef_strength] % CLPF_STRENGTHS;
uv_clpf_strength += uv_clpf_strength == 3; uv_clpf_strength += uv_clpf_strength == 3;
curr_row_dering[sbc] = 0;
if ((level == 0 && clpf_strength == 0 && uv_level == 0 && if ((level == 0 && clpf_strength == 0 && uv_level == 0 &&
uv_clpf_strength == 0) || uv_clpf_strength == 0) ||
(dering_count = sb_compute_dering_list( (dering_count = sb_compute_dering_list(
......
...@@ -2360,7 +2360,7 @@ static void decode_partition(AV1Decoder *const pbi, MACROBLOCKD *const xd, ...@@ -2360,7 +2360,7 @@ static void decode_partition(AV1Decoder *const pbi, MACROBLOCKD *const xd,
aom_read_literal(r, cm->cdef_bits, ACCT_STR); aom_read_literal(r, cm->cdef_bits, ACCT_STR);
} else { } else {
cm->mi_grid_visible[mi_row * cm->mi_stride + mi_col]->mbmi.cdef_strength = cm->mi_grid_visible[mi_row * cm->mi_stride + mi_col]->mbmi.cdef_strength =
0; -1;
} }
} }
#endif // CONFIG_CDEF #endif // CONFIG_CDEF
......
...@@ -378,6 +378,9 @@ void av1_cdef_search(YV12_BUFFER_CONFIG *frame, const YV12_BUFFER_CONFIG *ref, ...@@ -378,6 +378,9 @@ void av1_cdef_search(YV12_BUFFER_CONFIG *frame, const YV12_BUFFER_CONFIG *ref,
nvb = AOMMIN(MAX_MIB_SIZE, cm->mi_rows - MAX_MIB_SIZE * sbr); nvb = AOMMIN(MAX_MIB_SIZE, cm->mi_rows - MAX_MIB_SIZE * sbr);
dering_count = sb_compute_dering_list(cm, sbr * MAX_MIB_SIZE, dering_count = sb_compute_dering_list(cm, sbr * MAX_MIB_SIZE,
sbc * MAX_MIB_SIZE, dlist); sbc * MAX_MIB_SIZE, dlist);
cm->mi_grid_visible[MAX_MIB_SIZE * sbr * cm->mi_stride +
MAX_MIB_SIZE * sbc]
->mbmi.cdef_strength = -1;
if (dering_count == 0) continue; if (dering_count == 0) continue;
for (pli = 0; pli < nplanes; pli++) { for (pli = 0; pli < nplanes; pli++) {
for (i = 0; i < OD_DERING_INBUF_SIZE; i++) for (i = 0; i < OD_DERING_INBUF_SIZE; i++)
......
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