Add a macro to control use of domain txfm filter
Allows DomainTxfm filters to be turned off for experimentation.
Also expands the parameter set for the Self guided filters.
Change-Id: I68fdb8e079a2464d80b3a4a990005c49baaaf0b8
diff --git a/av1/encoder/bitstream.c b/av1/encoder/bitstream.c
index 2c87f1f..d218616 100644
--- a/av1/encoder/bitstream.c
+++ b/av1/encoder/bitstream.c
@@ -3324,6 +3324,7 @@
aom_wb_write_bit(wb, 1);
aom_wb_write_bit(wb, 0);
break;
+#if USE_DOMAINTXFMRF
case RESTORE_SGRPROJ:
aom_wb_write_bit(wb, 1);
aom_wb_write_bit(wb, 1);
@@ -3334,6 +3335,12 @@
aom_wb_write_bit(wb, 1);
aom_wb_write_bit(wb, 1);
break;
+#else
+ case RESTORE_SGRPROJ:
+ aom_wb_write_bit(wb, 1);
+ aom_wb_write_bit(wb, 1);
+ break;
+#endif // USE_DOMAINTXFMRF
case RESTORE_SWITCHABLE:
aom_wb_write_bit(wb, 0);
aom_wb_write_bit(wb, 1);
@@ -3373,10 +3380,12 @@
SGRPROJ_PRJ_BITS);
}
+#if USE_DOMAINTXFMRF
static void write_domaintxfmrf_filter(DomaintxfmrfInfo *domaintxfmrf_info,
aom_writer *wb) {
aom_write_literal(wb, domaintxfmrf_info->sigma_r, DOMAINTXFMRF_PARAMS_BITS);
}
+#endif // USE_DOMAINTXFMRF
static void encode_restoration(AV1_COMMON *cm, aom_writer *wb) {
int i, p;
@@ -3398,8 +3407,10 @@
write_wiener_filter(&rsi->wiener_info[i], wb);
} else if (rsi->restoration_type[i] == RESTORE_SGRPROJ) {
write_sgrproj_filter(&rsi->sgrproj_info[i], wb);
+#if USE_DOMAINTXFMRF
} else if (rsi->restoration_type[i] == RESTORE_DOMAINTXFMRF) {
write_domaintxfmrf_filter(&rsi->domaintxfmrf_info[i], wb);
+#endif // USE_DOMAINTXFMRF
}
}
} else if (rsi->frame_restoration_type == RESTORE_WIENER) {
@@ -3418,6 +3429,7 @@
write_sgrproj_filter(&rsi->sgrproj_info[i], wb);
}
}
+#if USE_DOMAINTXFMRF
} else if (rsi->frame_restoration_type == RESTORE_DOMAINTXFMRF) {
for (i = 0; i < ntiles; ++i) {
aom_write(wb, rsi->restoration_type[i] != RESTORE_NONE,
@@ -3426,6 +3438,7 @@
write_domaintxfmrf_filter(&rsi->domaintxfmrf_info[i], wb);
}
}
+#endif // USE_DOMAINTXFMRF
}
}
for (p = 1; p < MAX_MB_PLANE; ++p) {