Add coef_interleave experiment
This commit adds an experiment to interleave the coding of transform
coefficients from YUV planes. The experiment can be enabled at config
time by --enable-coef-interleave.
Change-Id: Ifd92f9c367304bca9732f13fa026eb8996363677
diff --git a/av1/encoder/tokenize.c b/av1/encoder/tokenize.c
index 0012559..0e6b815 100644
--- a/av1/encoder/tokenize.c
+++ b/av1/encoder/tokenize.c
@@ -503,6 +503,11 @@
++eob_branch[band[c]][pt];
}
+#if CONFIG_COEF_INTERLEAVE
+ t->token = EOSB_TOKEN;
+ t++;
+#endif
+
*tp = t;
#if CONFIG_ADAPT_SCAN
@@ -725,6 +730,10 @@
#if !CONFIG_PVQ
if (!dry_run) {
+#if CONFIG_COEF_INTERLEAVE
+ td->counts->skip[ctx][0] += skip_inc;
+ av1_foreach_transformed_block_interleave(xd, bsize, tokenize_b, &arg);
+#else
int plane;
td->counts->skip[ctx][0] += skip_inc;
@@ -734,6 +743,7 @@
(*t)->token = EOSB_TOKEN;
(*t)++;
}
+#endif
} else if (dry_run == DRY_RUN_NORMAL) {
av1_foreach_transformed_block(xd, bsize, set_entropy_context_b, &arg);
} else if (dry_run == DRY_RUN_COSTCOEFFS) {