Commit b353a8ed authored by Nathan E. Egge's avatar Nathan E. Egge Committed by Nathan Egge

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
parent 5e76162d
......@@ -153,6 +153,7 @@ static TX_MODE read_tx_mode(AV1_COMMON *cm, MACROBLOCKD *xd,
#endif // CONFIG_TX64X64
}
#if !CONFIG_EC_ADAPT
static void read_tx_size_probs(FRAME_CONTEXT *fc, aom_reader *r) {
int i, j, k;
for (i = 0; i < MAX_TX_DEPTH; ++i)
......@@ -160,6 +161,7 @@ static void read_tx_size_probs(FRAME_CONTEXT *fc, aom_reader *r) {
for (k = 0; k < i + 1; ++k)
av1_diff_update_prob(r, &fc->tx_size_probs[i][j][k], ACCT_STR);
}
#endif
#if !CONFIG_EC_ADAPT
static void read_switchable_interp_probs(FRAME_CONTEXT *fc, aom_reader *r) {
......@@ -4533,7 +4535,9 @@ static int read_compressed_header(AV1Decoder *pbi, const uint8_t *data,
decode_restoration(cm, &r);
#endif
#if !CONFIG_EC_ADAPT
if (cm->tx_mode == TX_MODE_SELECT) read_tx_size_probs(fc, &r);
#endif
#if !CONFIG_PVQ
#if !(CONFIG_EC_ADAPT && CONFIG_NEW_TOKENSET)
......
......@@ -339,6 +339,7 @@ static void encode_unsigned_max(struct aom_write_bit_buffer *wb, int data,
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 @@ static void prob_diff_update(const aom_tree_index *tree,
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 @@ static void write_tx_mode(AV1_COMMON *cm, MACROBLOCKD *xd, TX_MODE *mode,
#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 @@ static void update_txfm_probs(AV1_COMMON *cm, aom_writer *w,
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 @@ static uint32_t write_compressed_header(AV1_COMP *cpi, uint8_t *data) {
#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);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment