Add dependency of ext-comp-refs on one-sided-compound
When ext-comp-refs is enabled, one-sided-compound is enabled by default,
which ensures the use of ext-comp-refs is an extension of
one-sided-compound. Both coding tools allow the use of same-sided
reference frame pairs for compound prediction.
Also, remove the dependency of ext-comp-refs on var-refs, i.e. these two
coding tools can be independently enabled. They can still work together
if both are enabled simultaneously.
Change-Id: I3134e7e2956dc35d557fe814f5d801d473683650
diff --git a/av1/encoder/rdopt.c b/av1/encoder/rdopt.c
index 4d3b111..45f22d4 100644
--- a/av1/encoder/rdopt.c
+++ b/av1/encoder/rdopt.c
@@ -10811,7 +10811,7 @@
// This is only used in motion vector unit test.
if (cpi->oxcf.motion_vector_unit_test && ref_frame == INTRA_FRAME) continue;
-#if CONFIG_ONE_SIDED_COMPOUND // Changes LL bitstream
+#if CONFIG_ONE_SIDED_COMPOUND && !CONFIG_EXT_COMP_REFS // Changes LL bitstream
#if CONFIG_EXT_REFS
if (cpi->oxcf.pass == 0) {
// Complexity-compression trade-offs
@@ -10820,8 +10820,8 @@
if (second_ref_frame == ALTREF_FRAME) continue;
// if (second_ref_frame == BWDREF_FRAME) continue;
}
-#endif
-#endif
+#endif // CONFIG_EXT_REFS
+#endif // CONFIG_ONE_SIDED_COMPOUND && !CONFIG_EXT_COMP_REFS
comp_pred = second_ref_frame > INTRA_FRAME;
if (comp_pred) {
if (!cpi->allow_comp_inter_inter) continue;