Fix the logic for skipping in-loop filters in loopfilter_frame()
Change-Id: I976b4a684d6d309da6b1076627f7e1e058e72932
diff --git a/av1/encoder/encoder.c b/av1/encoder/encoder.c
index b1b5acc..649bfb0 100644
--- a/av1/encoder/encoder.c
+++ b/av1/encoder/encoder.c
@@ -4607,9 +4607,10 @@
MACROBLOCKD *xd = &cpi->td.mb.e_mbd;
struct loopfilter *lf = &cm->lf;
int no_loopfilter = 0;
- int no_cdef = 0;
#if CONFIG_LOOP_RESTORATION
int no_restoration = 0;
+#endif // CONFIG_LOOP_RESTORATION
+
if (is_lossless_requested(&cpi->oxcf)
#if CONFIG_INTRABC
|| (cm->allow_intrabc && NO_FILTER_FOR_IBC)
@@ -4619,11 +4620,16 @@
#endif // CONFIG_EXT_TILE
) {
no_loopfilter = 1;
+#if CONFIG_LOOP_RESTORATION
no_restoration = 1;
+#endif // CONFIG_LOOP_RESTORATION
}
-#endif
+ int no_cdef = 0;
if (is_lossless_requested(&cpi->oxcf) || !cpi->oxcf.using_cdef
+#if CONFIG_INTRABC
+ || (cm->allow_intrabc && NO_FILTER_FOR_IBC)
+#endif // CONFIG_INTRABC
#if CONFIG_EXT_TILE
|| cm->single_tile_decoding
#endif