Remove tx_size_prob from compressed header with EC_ADAPT.
When run with --enable-ec_adapt, forward updates to the tx_size_prob
array will not be made.
objective-1-fast:
master-ec_adapt-e568e6f0@2017-02-17T15:30:27.109Z ->
tx_size-ec_adapt@2017-02-17T15:31:49.504Z
PSNR | PSNR Cb | PSNR Cr | PSNR HVS | SSIM | MS SSIM | CIEDE 2000
-0.0113 | -0.0112 | -0.0113 | -0.0114 | -0.0114 | -0.0114 | -0.0112
master-ec_adapt-robust-e568e6f0@2017-02-17T20:29:45.315Z ->
tx_size-ec_adapt-robust@2017-02-17T20:33:06.405Z
PSNR | PSNR Cb | PSNR Cr | PSNR HVS | SSIM | MS SSIM | CIEDE 2000
-0.0244 | -0.0243 | -0.0243 | -0.0245 | -0.0245 | -0.0245 | -0.0243
Change-Id: I5873c5d14e3f3868997775f85fa743d2d55d81b7
diff --git a/av1/encoder/bitstream.c b/av1/encoder/bitstream.c
index e454200..3afdc03 100644
--- a/av1/encoder/bitstream.c
+++ b/av1/encoder/bitstream.c
@@ -339,6 +339,7 @@
aom_wb_write_literal(wb, data, get_unsigned_bits(max));
}
+#if !CONFIG_EC_ADAPT
static void prob_diff_update(const aom_tree_index *tree,
aom_prob probs[/*n - 1*/],
const unsigned int counts[/*n - 1*/], int n,
@@ -353,6 +354,8 @@
for (i = 0; i < n - 1; ++i)
av1_cond_prob_diff_update(w, &probs[i], branch_ct[i], probwt);
}
+#endif
+
#if CONFIG_EXT_INTER || CONFIG_EXT_TX || !CONFIG_EC_ADAPT
static int prob_diff_update_savings(const aom_tree_index *tree,
aom_prob probs[/*n - 1*/],
@@ -3637,6 +3640,7 @@
#endif // CONFIG_TX64X64
}
+#if !CONFIG_EC_ADAPT
static void update_txfm_probs(AV1_COMMON *cm, aom_writer *w,
FRAME_COUNTS *counts) {
#if CONFIG_TILE_GROUPS
@@ -3652,6 +3656,7 @@
counts->tx_size[i][j], i + 2, probwt, w);
}
}
+#endif
static void write_frame_interp_filter(InterpFilter filter,
struct aom_write_bit_buffer *wb) {
@@ -4591,7 +4596,9 @@
#if CONFIG_LOOP_RESTORATION
encode_restoration(cm, header_bc);
#endif // CONFIG_LOOP_RESTORATION
+#if !CONFIG_EC_ADAPT
update_txfm_probs(cm, header_bc, counts);
+#endif
#if !CONFIG_PVQ
#if !(CONFIG_EC_ADAPT && CONFIG_NEW_TOKENSET)
update_coef_probs(cpi, header_bc);