Remove the EC_ADAPT experimental flags. Removing these flags make the EC_ADAPT experiment an integral part of the draft AV1 bitstream definition This commit has no effect on metrics. Change-Id: Ice78520935e8bfa9d25cf4b8384a1b872069d09c
diff --git a/aom_dsp/bitreader.h b/aom_dsp/bitreader.h index 5bad70c..88bedcc 100644 --- a/aom_dsp/bitreader.h +++ b/aom_dsp/bitreader.h
@@ -194,9 +194,7 @@ int nsymbs ACCT_STR_PARAM) { int ret; ret = aom_read_cdf(r, cdf, nsymbs, ACCT_STR_NAME); -#if CONFIG_EC_ADAPT update_cdf(cdf, ret, nsymbs); -#endif return ret; }
diff --git a/aom_dsp/bitwriter.h b/aom_dsp/bitwriter.h index 588e47b..68bc1c8 100644 --- a/aom_dsp/bitwriter.h +++ b/aom_dsp/bitwriter.h
@@ -140,9 +140,7 @@ static INLINE void aom_write_symbol(aom_writer *w, int symb, aom_cdf_prob *cdf, int nsymbs) { aom_write_cdf(w, symb, cdf, nsymbs); -#if CONFIG_EC_ADAPT update_cdf(cdf, symb, nsymbs); -#endif } static INLINE void aom_write_tree_as_cdf(aom_writer *w,
diff --git a/aom_dsp/prob.c b/aom_dsp/prob.c index eefe752..a42fb80 100644 --- a/aom_dsp/prob.c +++ b/aom_dsp/prob.c
@@ -186,10 +186,8 @@ for (i = 1; i < nsymbs; i++) { cdf[i] = AOM_ICDF(AOM_ICDF(cdf[i - 1]) + cdf[i]); } -// Store symbol count at the end of the CDF -#if CONFIG_EC_ADAPT + // Store symbol count at the end of the CDF cdf[nsymbs] = 0; -#endif return nsymbs; }
diff --git a/aom_dsp/prob.h b/aom_dsp/prob.h index ec6654a..35db134 100644 --- a/aom_dsp/prob.h +++ b/aom_dsp/prob.h
@@ -148,7 +148,6 @@ void av1_indices_from_tree(int *ind, int *inv, const aom_tree_index *tree); -#if CONFIG_EC_ADAPT static INLINE void update_cdf(aom_cdf_prob *cdf, int val, int nsymbs) { const int rate = 4 + (cdf[nsymbs] > 31) + get_msb(nsymbs); const int rate2 = 5; @@ -183,7 +182,6 @@ #endif cdf[nsymbs] += (cdf[nsymbs] < 32); } -#endif #ifdef __cplusplus } // extern "C"
diff --git a/av1/common/blockd.h b/av1/common/blockd.h index 1c2371f..4e25762 100644 --- a/av1/common/blockd.h +++ b/av1/common/blockd.h
@@ -702,9 +702,7 @@ #if CONFIG_PVQ daala_dec_ctx daala_dec; #endif -#if CONFIG_EC_ADAPT FRAME_CONTEXT *tile_ctx; -#endif /* Bit depth: 8, 10, 12 */ int bd;
diff --git a/av1/common/entropy.c b/av1/common/entropy.c index c66c5f8..a1d3c4c 100644 --- a/av1/common/entropy.c +++ b/av1/common/entropy.c
@@ -5590,7 +5590,6 @@ #endif } -#if CONFIG_EC_ADAPT static void av1_average_cdf(aom_cdf_prob *cdf_ptr[], aom_cdf_prob *fc_cdf_ptr, int cdf_size, const int num_tiles) { int i; @@ -5714,9 +5713,7 @@ #if CONFIG_EXT_INTER AVERAGE_TILE_CDFS(inter_compound_mode_cdf) -#if CONFIG_EC_ADAPT AVERAGE_TILE_CDFS(compound_type_cdf) -#endif // CONFIG_EC_ADAPT #if CONFIG_INTERINTRA #if CONFIG_NEW_MULTISYMBOL @@ -5808,4 +5805,3 @@ AVERAGE_TILE_CDFS(pvq_context.pvq.pvq_skip_dir_cdf) } #endif // CONFIG_PVQ -#endif // CONFIG_EC_ADAPT
diff --git a/av1/common/entropy.h b/av1/common/entropy.h index 49d5f6c..94157e4 100644 --- a/av1/common/entropy.h +++ b/av1/common/entropy.h
@@ -188,9 +188,7 @@ struct frame_contexts; void av1_default_coef_probs(struct AV1Common *cm); void av1_adapt_coef_probs(struct AV1Common *cm); -#if CONFIG_EC_ADAPT void av1_adapt_coef_cdfs(struct AV1Common *cm, struct frame_contexts *pre_fc); -#endif // This is the index in the scan order beyond which all coefficients for // 8x8 transform and above are in the top band. @@ -431,7 +429,6 @@ return mode_mv_merge_probs(pre_prob, ct); } -#if CONFIG_EC_ADAPT void av1_average_tile_coef_cdfs(struct frame_contexts *fc, struct frame_contexts *ec_ctxs[], aom_cdf_prob *cdf_ptrs[], int num_tiles); @@ -450,7 +447,6 @@ void av1_average_tile_pvq_cdfs(struct frame_contexts *fc, struct frame_contexts *ec_ctxs[], int num_tiles); #endif // CONFIG_PVQ -#endif // CONFIG_EC_ADAPT #ifdef __cplusplus } // extern "C" #endif
diff --git a/av1/common/entropymode.c b/av1/common/entropymode.c index f2c7979..9f5c09a 100644 --- a/av1/common/entropymode.c +++ b/av1/common/entropymode.c
@@ -293,605 +293,6 @@ }; #endif // CONFIG_LV_MAP -#if !CONFIG_EC_ADAPT -#if CONFIG_ALT_INTRA -#if CONFIG_SMOOTH_HV -const aom_prob av1_kf_y_mode_prob[INTRA_MODES][INTRA_MODES][INTRA_MODES - 1] = { - { - // above = dc - { 111, 28, 44, 99, 166, 154, 28, 28, 27, 45, 134, 109 }, // left = dc - { 82, 31, 102, 75, 117, 135, 33, 34, 21, 31, 134, 149 }, // left = v - { 40, 29, 14, 161, 235, 180, 14, 12, 34, 52, 128, 69 }, // left = h - { 98, 19, 36, 74, 137, 153, 49, 35, 25, 61, 137, 106 }, // left = d45 - { 59, 11, 25, 128, 47, 162, 29, 20, 53, 38, 143, 117 }, // left = d135 - { 86, 20, 51, 160, 39, 101, 69, 101, 112, 154, 158, 145 }, // left = d117 - { 49, 10, 17, 112, 98, 206, 16, 11, 104, 44, 138, 88 }, // left = d153 - { 64, 14, 22, 80, 170, 168, 19, 15, 26, 101, 137, 90 }, // left = d207 - { 84, 21, 31, 62, 110, 135, 40, 57, 22, 45, 143, 130 }, // left = d63 - { 58, 16, 31, 60, 154, 225, 17, 23, 19, 30, 138, 113 }, // left = smooth - { 51, 19, 46, 64, 148, 209, 18, 28, 17, 25, 137, - 149 }, // left = smooth_v - { 68, 15, 26, 61, 175, 233, 17, 17, 19, 29, 135, 76 }, // left = smooth_h - { 49, 61, 41, 113, 203, 158, 26, 26, 29, 55, 123, 99 }, // left = tm - }, - { - // above = v - { 31, 26, 135, 81, 100, 82, 13, 40, 14, 18, 131, 182 }, // left = dc - { 24, 27, 175, 53, 93, 85, 17, 40, 5, 14, 119, 195 }, // left = v - { 20, 34, 71, 97, 209, 133, 15, 24, 14, 28, 138, 129 }, // left = h - { 54, 19, 88, 55, 102, 103, 39, 45, 8, 44, 134, 167 }, // left = d45 - { 23, 16, 93, 101, 33, 119, 23, 41, 26, 22, 136, 168 }, // left = d135 - { 34, 17, 130, 149, 30, 72, 43, 129, 66, 100, 143, 192 }, // left = d117 - { 23, 17, 83, 85, 63, 158, 16, 30, 64, 28, 145, 146 }, // left = d153 - { 33, 17, 85, 60, 136, 115, 21, 32, 15, 59, 134, 155 }, // left = d207 - { 40, 20, 103, 53, 66, 84, 26, 72, 9, 29, 134, 177 }, // left = d63 - { 22, 18, 112, 41, 138, 192, 12, 30, 9, 16, 131, 178 }, // left = smooth - { 20, 20, 125, 39, 137, 179, 11, 28, 7, 12, 123, - 199 }, // left = smooth_v - { 26, 19, 111, 46, 160, 201, 13, 29, 8, 17, 132, - 156 }, // left = smooth_h - { 20, 35, 138, 62, 162, 107, 21, 36, 9, 24, 125, 181 }, // left = tm - }, - { - // above = h - { 89, 27, 21, 136, 218, 175, 20, 19, 35, 56, 134, 96 }, // left = dc - { 63, 37, 67, 117, 190, 160, 22, 29, 20, 45, 137, 137 }, // left = v - { 34, 23, 7, 177, 245, 207, 13, 9, 30, 73, 125, 63 }, // left = h - { 84, 29, 20, 83, 184, 182, 38, 25, 34, 86, 134, 106 }, // left = d45 - { 65, 19, 19, 119, 109, 177, 27, 19, 56, 56, 141, 103 }, // left = d135 - { 88, 25, 46, 152, 102, 130, 70, 61, 96, 157, 130, 102 }, // left = d117 - { 51, 11, 10, 108, 168, 216, 14, 9, 93, 58, 132, 79 }, // left = d153 - { 53, 15, 9, 103, 224, 192, 20, 13, 23, 122, 135, 80 }, // left = d207 - { 64, 30, 19, 90, 171, 176, 24, 44, 23, 56, 144, 121 }, // left = d63 - { 46, 20, 17, 94, 214, 234, 14, 15, 23, 38, 132, 98 }, // left = smooth - { 41, 27, 22, 102, 214, 229, 13, 17, 18, 35, 133, - 137 }, // left = smooth_v - { 52, 17, 14, 95, 224, 241, 14, 11, 24, 38, 133, 62 }, // left = smooth_h - { 35, 43, 21, 148, 234, 188, 22, 17, 27, 47, 133, 100 }, // left = tm - }, - { - // above = d45 - { 80, 14, 31, 74, 129, 146, 52, 50, 29, 50, 138, 110 }, // left = dc - { 59, 16, 84, 52, 106, 121, 63, 60, 20, 40, 143, 150 }, // left = v - { 41, 19, 16, 118, 216, 168, 36, 27, 24, 62, 136, 69 }, // left = h - { 86, 11, 11, 37, 168, 158, 113, 53, 8, 99, 140, 121 }, // left = d45 - { 49, 8, 24, 94, 49, 139, 48, 45, 40, 53, 134, 131 }, // left = d135 - { 58, 11, 36, 127, 45, 97, 90, 143, 91, 180, 153, 146 }, // left = d117 - { 39, 9, 14, 93, 97, 187, 32, 26, 66, 57, 134, 106 }, // left = d153 - { 75, 8, 26, 68, 135, 154, 51, 30, 17, 113, 144, 83 }, // left = d207 - { 77, 13, 18, 46, 146, 143, 81, 102, 18, 59, 142, 143 }, // left = d63 - { 49, 13, 31, 47, 142, 218, 46, 42, 19, 46, 146, 120 }, // left = smooth - { 46, 15, 35, 47, 132, 206, 47, 50, 18, 37, 143, - 147 }, // left = smooth_v - { 54, 11, 25, 54, 157, 229, 43, 34, 20, 44, 136, 99 }, // left = smooth_h - { 40, 26, 41, 72, 176, 145, 78, 51, 27, 59, 133, 121 }, // left = tm - }, - { - // above = d135 - { 57, 10, 21, 118, 61, 178, 16, 20, 65, 52, 145, 125 }, // left = dc - { 56, 15, 48, 107, 58, 153, 20, 32, 42, 35, 143, 162 }, // left = v - { 28, 19, 8, 132, 172, 184, 14, 14, 45, 55, 140, 79 }, // left = h - { 58, 13, 15, 73, 66, 177, 61, 24, 30, 72, 143, 122 }, // left = d45 - { 35, 5, 13, 150, 20, 187, 19, 21, 66, 38, 144, 130 }, // left = d135 - { 57, 9, 30, 173, 28, 133, 38, 71, 156, 140, 156, 173 }, // left = d117 - { 30, 6, 9, 121, 54, 207, 16, 20, 110, 62, 151, 94 }, // left = d153 - { 51, 9, 15, 88, 96, 188, 22, 18, 40, 95, 140, 98 }, // left = d207 - { 56, 12, 21, 82, 53, 140, 30, 37, 32, 47, 145, 149 }, // left = d63 - { 43, 12, 21, 83, 84, 222, 14, 23, 31, 35, 143, 127 }, // left = smooth - { 41, 12, 25, 81, 75, 210, 16, 29, 29, 29, 141, 154 }, // left = smooth_v - { 42, 11, 19, 81, 109, 226, 17, 20, 34, 36, 143, - 110 }, // left = smooth_h - { 36, 26, 27, 107, 132, 151, 24, 28, 38, 46, 140, 127 }, // left = tm - }, - { - // above = d117 - { 52, 15, 58, 191, 40, 95, 38, 78, 98, 140, 152, 175 }, // left = dc - { 50, 16, 85, 186, 28, 84, 41, 105, 65, 119, 158, 206 }, // left = v - { 30, 23, 30, 179, 122, 124, 38, 47, 68, 140, 161, 102 }, // left = h - { 75, 15, 47, 120, 49, 127, 63, 86, 54, 204, 175, 185 }, // left = d45 - { 36, 9, 37, 198, 15, 120, 56, 78, 104, 151, 155, 165 }, // left = d135 - { 38, 9, 54, 198, 12, 75, 47, 92, 71, 130, 170, 201 }, // left = d117 - { 31, 13, 33, 167, 46, 144, 32, 59, 124, 151, 162, 128 }, // left = d153 - { 47, 15, 43, 123, 70, 129, 49, 72, 48, 175, 163, 125 }, // left = d207 - { 61, 19, 62, 141, 35, 116, 55, 117, 51, 162, 150, 201 }, // left = d63 - { 22, 17, 34, 105, 41, 101, 20, 34, 26, 39, 146, 157 }, // left = smooth - { 19, 14, 37, 116, 33, 91, 23, 38, 17, 36, 137, 178 }, // left = smooth_v - { 25, 17, 35, 102, 59, 118, 23, 28, 30, 43, 147, - 148 }, // left = smooth_h - { 35, 24, 62, 164, 95, 103, 47, 94, 65, 115, 186, 128 }, // left = tm - }, - { - // above = d153 - { 75, 12, 17, 101, 150, 177, 14, 13, 101, 55, 141, 104 }, // left = dc - { 69, 19, 46, 91, 133, 167, 19, 22, 72, 41, 133, 143 }, // left = v - { 30, 12, 6, 132, 209, 214, 10, 8, 75, 78, 137, 70 }, // left = h - { 77, 16, 12, 85, 120, 203, 35, 17, 69, 66, 137, 96 }, // left = d45 - { 51, 8, 11, 119, 58, 178, 20, 17, 90, 51, 145, 92 }, // left = d135 - { 76, 8, 24, 144, 48, 128, 37, 46, 173, 153, 159, 111 }, // left = d117 - { 40, 6, 6, 87, 112, 213, 7, 7, 152, 54, 141, 84 }, // left = d153 - { 46, 6, 7, 78, 161, 195, 15, 11, 66, 97, 137, 83 }, // left = d207 - { 81, 17, 17, 82, 97, 187, 26, 34, 54, 60, 154, 128 }, // left = d63 - { 47, 10, 16, 74, 138, 233, 13, 17, 59, 42, 143, 106 }, // left = smooth - { 45, 12, 17, 76, 141, 227, 14, 16, 56, 43, 141, - 135 }, // left = smooth_v - { 55, 10, 13, 69, 162, 238, 11, 11, 59, 45, 133, 73 }, // left = smooth_h - { 44, 23, 19, 110, 176, 165, 16, 19, 68, 59, 131, 89 }, // left = tm - }, - { - // above = d207 - { 86, 15, 26, 87, 166, 178, 27, 25, 27, 75, 145, 108 }, // left = dc - { 71, 27, 62, 70, 126, 142, 29, 34, 17, 69, 141, 144 }, // left = v - { 48, 21, 11, 130, 231, 196, 24, 19, 27, 82, 133, 72 }, // left = h - { 82, 21, 14, 54, 128, 188, 55, 38, 19, 111, 148, 119 }, // left = d45 - { 57, 11, 17, 78, 83, 171, 43, 31, 37, 58, 143, 100 }, // left = d135 - { 76, 16, 44, 115, 77, 130, 78, 79, 82, 178, 132, 123 }, // left = d117 - { 50, 12, 11, 82, 133, 207, 27, 20, 67, 79, 138, 87 }, // left = d153 - { 77, 9, 13, 44, 174, 169, 26, 13, 9, 167, 135, 90 }, // left = d207 - { 70, 16, 18, 57, 117, 167, 43, 46, 17, 70, 150, 116 }, // left = d63 - { 56, 13, 18, 60, 170, 236, 24, 19, 18, 59, 139, 105 }, // left = smooth - { 50, 17, 26, 60, 165, 234, 24, 20, 15, 53, 134, - 136 }, // left = smooth_v - { 57, 11, 16, 62, 188, 239, 23, 15, 18, 57, 134, 79 }, // left = smooth_h - { 49, 31, 24, 78, 194, 184, 45, 27, 19, 81, 138, 102 }, // left = tm - }, - { - // above = d63 - { 53, 13, 46, 61, 109, 116, 40, 83, 19, 31, 141, 150 }, // left = dc - { 45, 14, 75, 40, 79, 102, 48, 118, 14, 23, 138, 174 }, // left = v - { 34, 14, 24, 98, 214, 128, 33, 54, 18, 51, 138, 103 }, // left = h - { 74, 11, 26, 37, 127, 154, 75, 89, 11, 61, 146, 125 }, // left = d45 - { 35, 9, 26, 68, 55, 128, 53, 74, 21, 33, 138, 132 }, // left = d135 - { 47, 9, 55, 108, 39, 105, 64, 193, 71, 127, 141, 193 }, // left = d117 - { 35, 9, 22, 66, 79, 172, 34, 64, 57, 44, 139, 112 }, // left = d153 - { 54, 7, 26, 48, 136, 139, 48, 60, 15, 82, 144, 116 }, // left = d207 - { 60, 9, 30, 25, 106, 127, 64, 143, 14, 42, 140, 165 }, // left = d63 - { 39, 11, 35, 40, 136, 212, 34, 67, 12, 28, 145, 150 }, // left = smooth - { 37, 12, 45, 36, 128, 190, 34, 80, 8, 23, 138, 165 }, // left = smooth_v - { 45, 9, 37, 46, 152, 196, 36, 58, 14, 29, 145, 127 }, // left = smooth_h - { 35, 17, 53, 48, 159, 101, 53, 104, 15, 36, 132, 152 }, // left = tm - }, - { - // above = smooth - { 58, 12, 33, 66, 168, 219, 13, 21, 16, 27, 137, 113 }, // left = dc - { 42, 20, 78, 51, 139, 216, 16, 27, 11, 18, 134, 160 }, // left = v - { 28, 17, 16, 118, 236, 231, 13, 14, 16, 41, 132, 77 }, // left = h - { 58, 12, 23, 47, 138, 238, 39, 31, 16, 63, 142, 125 }, // left = d45 - { 44, 9, 27, 76, 80, 220, 21, 27, 27, 30, 142, 122 }, // left = d135 - { 30, 13, 38, 96, 47, 111, 26, 40, 31, 40, 146, 146 }, // left = d117 - { 42, 9, 19, 70, 127, 234, 15, 18, 53, 39, 138, 97 }, // left = d153 - { 44, 10, 20, 57, 186, 229, 15, 18, 15, 80, 141, 97 }, // left = d207 - { 51, 13, 33, 46, 123, 225, 23, 46, 15, 34, 143, 132 }, // left = d63 - { 42, 11, 29, 49, 154, 226, 13, 20, 12, 27, 139, 117 }, // left = smooth - { 37, 13, 40, 48, 146, 217, 13, 23, 10, 24, 136, - 149 }, // left = smooth_v - { 45, 10, 24, 55, 176, 230, 11, 16, 14, 26, 136, 86 }, // left = smooth_h - { 32, 23, 43, 78, 204, 225, 18, 23, 15, 30, 134, 117 }, // left = tm - }, - { - // above = smooth_v - { 62, 13, 47, 68, 165, 204, 14, 24, 14, 22, 137, 146 }, // left = dc - { 42, 18, 97, 43, 138, 210, 12, 28, 8, 14, 127, 184 }, // left = v - { 30, 19, 21, 128, 238, 231, 13, 13, 17, 38, 138, 103 }, // left = h - { 66, 12, 31, 50, 132, 228, 37, 34, 14, 56, 142, 135 }, // left = d45 - { 45, 9, 33, 75, 73, 216, 20, 33, 25, 25, 146, 153 }, // left = d135 - { 31, 13, 48, 97, 46, 82, 26, 55, 31, 25, 140, 179 }, // left = d117 - { 47, 10, 26, 67, 109, 229, 15, 23, 52, 34, 136, 133 }, // left = d153 - { 49, 9, 25, 58, 174, 206, 14, 20, 13, 83, 144, 121 }, // left = d207 - { 54, 15, 42, 47, 120, 209, 22, 55, 13, 25, 139, 162 }, // left = d63 - { 41, 11, 43, 50, 146, 216, 11, 21, 11, 23, 136, 151 }, // left = smooth - { 37, 12, 58, 48, 148, 202, 11, 24, 8, 19, 134, 178 }, // left = smooth_v - { 47, 11, 39, 54, 169, 212, 12, 21, 14, 22, 144, - 115 }, // left = smooth_h - { 36, 25, 57, 80, 215, 211, 16, 28, 11, 25, 130, 154 }, // left = tm - }, - { - // above = smooth_h - { 57, 12, 28, 68, 186, 224, 11, 17, 20, 31, 133, 80 }, // left = dc - { 42, 21, 86, 51, 159, 221, 14, 25, 10, 19, 134, 131 }, // left = v - { 25, 17, 13, 123, 240, 240, 12, 10, 18, 42, 126, 56 }, // left = h - { 55, 11, 25, 47, 146, 238, 36, 32, 18, 67, 144, 99 }, // left = d45 - { 47, 11, 23, 75, 95, 222, 20, 24, 28, 36, 143, 103 }, // left = d135 - { 30, 14, 34, 92, 59, 101, 27, 44, 31, 41, 142, 129 }, // left = d117 - { 42, 11, 17, 73, 158, 234, 14, 14, 59, 46, 138, 67 }, // left = d153 - { 45, 10, 15, 64, 194, 228, 14, 15, 17, 78, 133, 73 }, // left = d207 - { 52, 14, 29, 45, 138, 227, 25, 43, 16, 36, 136, 119 }, // left = d63 - { 42, 12, 23, 51, 173, 235, 12, 16, 13, 28, 134, 95 }, // left = smooth - { 37, 16, 34, 52, 161, 228, 12, 19, 10, 28, 137, - 123 }, // left = smooth_v - { 45, 9, 18, 58, 200, 240, 10, 13, 13, 27, 129, 61 }, // left = smooth_h - { 32, 26, 44, 82, 217, 222, 19, 23, 16, 34, 134, 99 }, // left = tm - }, - { - // above = tm - { 51, 42, 80, 104, 178, 121, 20, 37, 25, 42, 136, 150 }, // left = dc - { 35, 38, 132, 73, 152, 132, 21, 36, 10, 32, 127, 174 }, // left = v - { 21, 34, 26, 149, 241, 165, 17, 15, 19, 60, 132, 95 }, // left = h - { 64, 20, 36, 67, 169, 142, 45, 30, 16, 86, 145, 134 }, // left = d45 - { 40, 23, 51, 96, 102, 149, 25, 33, 34, 43, 143, 125 }, // left = d135 - { 58, 29, 93, 140, 93, 89, 51, 107, 64, 146, 145, 154 }, // left = d117 - { 33, 23, 44, 95, 139, 209, 12, 20, 76, 56, 131, 104 }, // left = d153 - { 40, 21, 28, 79, 210, 165, 21, 15, 16, 134, 138, 108 }, // left = d207 - { 45, 24, 58, 62, 132, 127, 32, 58, 15, 51, 143, 152 }, // left = d63 - { 33, 27, 53, 71, 195, 223, 14, 24, 12, 36, 136, 135 }, // left = smooth - { 30, 29, 62, 68, 201, 217, 14, 24, 11, 31, 132, - 162 }, // left = smooth_v - { 37, 25, 50, 76, 204, 212, 12, 18, 15, 38, 134, - 106 }, // left = smooth_h - { 28, 53, 64, 100, 203, 162, 26, 29, 15, 52, 127, 138 }, // left = tm - }, -}; - -static const aom_prob default_if_y_probs[BLOCK_SIZE_GROUPS][INTRA_MODES - 1] = { - { 56, 13, 37, 112, 91, 147, 66, 55, 72, 82, 124, 121 }, // block_size < 8x8 - { 92, 120, 47, 89, 120, 139, 18, 38, 32, 51, 146, - 124 }, // block_size < 16x16 - { 115, 102, 41, 69, 170, 142, 8, 23, 13, 23, 122, - 110 }, // block_size < 32x32 - { 148, 157, 47, 62, 238, 64, 7, 3, 1, 3, 74, 87 }, // block_size >= 32x32 -}; - -static const aom_prob default_uv_probs[INTRA_MODES][INTRA_MODES - 1] = { - { 184, 3, 67, 135, 194, 108, 33, 43, 40, 86, 121, 118 }, // y = dc - { 23, 3, 204, 105, 117, 53, 14, 68, 13, 19, 112, 86 }, // y = v - { 34, 3, 7, 220, 249, 142, 11, 13, 59, 124, 119, 131 }, // y = h - { 138, 3, 45, 51, 162, 99, 110, 107, 21, 113, 119, 111 }, // y = d45 - { 130, 2, 28, 163, 52, 163, 16, 25, 94, 46, 127, 118 }, // y = d135 - { 109, 3, 55, 218, 20, 43, 34, 71, 74, 68, 108, 128 }, // y = d117 - { 124, 1, 17, 124, 151, 197, 8, 9, 184, 71, 123, 101 }, // y = d153 - { 127, 2, 16, 110, 225, 134, 28, 19, 18, 190, 124, 132 }, // y = d207 - { 115, 3, 65, 46, 134, 81, 37, 170, 20, 57, 122, 106 }, // y = d63 - { 131, 4, 52, 71, 177, 205, 17, 27, 20, 41, 128, 118 }, // y = smooth - { 131, 5, 65, 70, 182, 196, 17, 30, 17, 35, 123, 154 }, // y = smooth_v - { 137, 4, 43, 78, 196, 202, 16, 21, 24, 48, 123, 91 }, // y = smooth_h - { 137, 12, 92, 142, 217, 71, 14, 45, 29, 62, 108, 109 }, // y = tm -}; - -#else // !CONFIG_SMOOTH_HV - -const aom_prob av1_kf_y_mode_prob[INTRA_MODES][INTRA_MODES][INTRA_MODES - 1] = { - { - // above = dc - { 121, 30, 54, 128, 164, 158, 45, 41, 57, 91 }, // left = dc - { 91, 38, 101, 102, 124, 141, 49, 48, 45, 73 }, // left = v - { 66, 28, 27, 177, 225, 178, 32, 27, 52, 114 }, // left = h - { 106, 23, 50, 101, 134, 148, 64, 50, 49, 107 }, // left = d45 - { 75, 24, 32, 118, 66, 143, 42, 28, 57, 74 }, // left = d135 - { 95, 24, 40, 142, 56, 141, 72, 121, 129, 255 }, // left = d117 - { 71, 14, 25, 126, 117, 201, 28, 21, 117, 89 }, // left = d153 - { 85, 16, 37, 110, 163, 178, 41, 28, 48, 134 }, // left = d207 - { 86, 25, 32, 83, 105, 133, 58, 81, 46, 95 }, // left = d63 - { 79, 25, 38, 75, 150, 255, 30, 49, 34, 51 }, // left = smooth - { 68, 59, 48, 122, 193, 158, 43, 46, 46, 112 }, // left = paeth - }, - { - // above = v - { 66, 21, 118, 111, 145, 107, 27, 50, 27, 54 }, // left = dc - { 52, 25, 167, 81, 120, 101, 34, 55, 19, 32 }, // left = v - { 56, 18, 72, 134, 208, 139, 31, 34, 27, 89 }, // left = h - { 75, 21, 94, 88, 134, 123, 49, 57, 30, 68 }, // left = d45 - { 54, 18, 95, 96, 78, 107, 33, 49, 28, 65 }, // left = d135 - { 61, 19, 121, 131, 58, 101, 56, 143, 120, 255 }, // left = d117 - { 53, 13, 78, 103, 110, 147, 31, 41, 64, 77 }, // left = d153 - { 69, 14, 78, 93, 167, 121, 31, 39, 25, 113 }, // left = d207 - { 64, 18, 103, 79, 90, 108, 34, 73, 27, 69 }, // left = d63 - { 52, 20, 103, 61, 161, 255, 22, 42, 16, 35 }, // left = smooth - { 50, 31, 124, 92, 161, 120, 50, 53, 23, 60 }, // left = paeth - }, - { - // above = h - { 94, 29, 31, 158, 214, 178, 35, 31, 72, 111 }, // left = dc - { 72, 37, 72, 149, 184, 177, 43, 40, 53, 105 }, // left = v - { 53, 21, 14, 196, 242, 209, 29, 19, 55, 145 }, // left = h - { 93, 36, 36, 104, 176, 166, 56, 37, 49, 141 }, // left = d45 - { 84, 32, 27, 124, 108, 143, 38, 36, 76, 134 }, // left = d135 - { 82, 31, 47, 142, 122, 161, 83, 73, 126, 255 }, // left = d117 - { 66, 16, 20, 133, 148, 210, 30, 17, 113, 104 }, // left = d153 - { 76, 16, 17, 129, 207, 181, 41, 20, 46, 163 }, // left = d207 - { 72, 38, 21, 100, 142, 171, 37, 70, 49, 111 }, // left = d63 - { 61, 30, 27, 115, 208, 255, 27, 31, 44, 63 }, // left = smooth - { 53, 45, 29, 157, 222, 185, 49, 37, 55, 102 }, // left = paeth - }, - { - // above = d45 - { 96, 18, 37, 98, 138, 154, 68, 56, 59, 96 }, // left = dc - { 73, 18, 92, 81, 125, 132, 75, 64, 27, 67 }, // left = v - { 73, 17, 27, 128, 213, 154, 56, 44, 32, 105 }, // left = h - { 101, 20, 21, 75, 138, 138, 82, 56, 23, 154 }, // left = d45 - { 71, 15, 33, 91, 70, 150, 62, 55, 38, 118 }, // left = d135 - { 80, 19, 38, 116, 69, 122, 88, 132, 92, 255 }, // left = d117 - { 68, 11, 22, 101, 116, 179, 52, 44, 85, 96 }, // left = d153 - { 101, 8, 59, 77, 151, 170, 53, 41, 35, 172 }, // left = d207 - { 82, 19, 24, 81, 172, 129, 82, 128, 43, 108 }, // left = d63 - { 66, 18, 42, 64, 143, 255, 52, 52, 25, 83 }, // left = smooth - { 57, 24, 42, 85, 169, 145, 104, 71, 34, 86 }, // left = paeth - }, - { - // above = d135 - { 85, 15, 29, 113, 83, 176, 26, 29, 70, 110 }, // left = dc - { 78, 28, 49, 111, 91, 141, 30, 42, 48, 75 }, // left = v - { 56, 21, 16, 146, 190, 178, 23, 31, 49, 92 }, // left = h - { 70, 19, 20, 65, 90, 173, 97, 36, 57, 98 }, // left = d45 - { 77, 14, 26, 110, 51, 156, 34, 35, 54, 74 }, // left = d135 - { 78, 18, 36, 153, 47, 131, 62, 102, 155, 255 }, // left = d117 - { 56, 11, 15, 115, 85, 196, 32, 45, 81, 96 }, // left = d153 - { 90, 18, 24, 95, 126, 159, 34, 31, 46, 136 }, // left = d207 - { 80, 23, 28, 90, 75, 141, 39, 50, 46, 87 }, // left = d63 - { 63, 22, 31, 91, 110, 255, 26, 43, 51, 51 }, // left = smooth - { 66, 32, 31, 122, 145, 165, 40, 43, 56, 79 }, // left = paeth - }, - { - // above = d117 - { 81, 16, 61, 170, 74, 105, 54, 105, 113, 255 }, // left = dc - { 74, 20, 86, 163, 64, 97, 65, 129, 101, 255 }, // left = v - { 63, 15, 47, 168, 141, 176, 69, 77, 77, 255 }, // left = h - { 70, 17, 59, 97, 78, 114, 74, 122, 80, 255 }, // left = d45 - { 78, 13, 50, 153, 34, 126, 75, 114, 120, 255 }, // left = d135 - { 72, 16, 69, 159, 28, 108, 63, 134, 107, 255 }, // left = d117 - { 66, 9, 47, 131, 79, 148, 41, 88, 105, 255 }, // left = d153 - { 78, 12, 60, 119, 105, 133, 47, 95, 63, 255 }, // left = d207 - { 82, 21, 58, 128, 61, 98, 64, 136, 91, 255 }, // left = d63 - { 23, 26, 28, 96, 85, 128, 51, 64, 85, 128 }, // left = smooth - { 58, 27, 62, 162, 109, 151, 75, 106, 78, 255 }, // left = paeth - }, - { - // above = d153 - { 91, 18, 25, 121, 166, 173, 25, 25, 128, 102 }, // left = dc - { 80, 27, 51, 111, 141, 147, 45, 38, 70, 85 }, // left = v - { 53, 12, 11, 154, 197, 225, 17, 17, 74, 145 }, // left = h - { 93, 27, 23, 111, 143, 188, 43, 39, 69, 112 }, // left = d45 - { 83, 15, 21, 118, 67, 178, 40, 33, 73, 92 }, // left = d135 - { 94, 13, 31, 132, 66, 110, 61, 82, 148, 255 }, // left = d117 - { 76, 9, 11, 96, 105, 201, 16, 13, 157, 97 }, // left = d153 - { 70, 10, 12, 100, 172, 201, 23, 17, 53, 158 }, // left = d207 - { 114, 25, 21, 104, 108, 163, 30, 47, 53, 111 }, // left = d63 - { 70, 16, 21, 80, 157, 255, 25, 30, 81, 69 }, // left = smooth - { 87, 32, 26, 120, 191, 168, 32, 33, 70, 118 }, // left = paeth - }, - { - // above = d207 - { 98, 20, 39, 122, 168, 188, 38, 36, 54, 132 }, // left = dc - { 81, 37, 62, 97, 122, 153, 38, 43, 36, 118 }, // left = v - { 71, 21, 22, 154, 227, 183, 37, 31, 46, 140 }, // left = h - { 90, 34, 19, 93, 144, 194, 65, 47, 41, 163 }, // left = d45 - { 78, 20, 27, 91, 93, 173, 57, 52, 49, 113 }, // left = d135 - { 79, 25, 45, 121, 101, 147, 69, 56, 122, 255 }, // left = d117 - { 73, 13, 19, 105, 122, 206, 40, 28, 91, 126 }, // left = d153 - { 101, 14, 22, 87, 153, 169, 33, 25, 26, 175 }, // left = d207 - { 81, 28, 23, 86, 115, 169, 48, 56, 41, 111 }, // left = d63 - { 70, 24, 30, 90, 180, 255, 38, 26, 36, 82 }, // left = smooth - { 61, 37, 30, 94, 189, 163, 76, 50, 36, 127 }, // left = paeth - }, - { - // above = d63 - { 77, 13, 46, 86, 138, 117, 55, 88, 34, 68 }, // left = dc - { 68, 17, 80, 64, 105, 108, 66, 115, 32, 45 }, // left = v - { 62, 13, 37, 124, 210, 131, 46, 57, 28, 103 }, // left = h - { 88, 15, 45, 73, 134, 145, 73, 101, 37, 87 }, // left = d45 - { 68, 16, 35, 78, 81, 133, 54, 71, 33, 67 }, // left = d135 - { 71, 16, 57, 108, 61, 135, 71, 184, 113, 255 }, // left = d117 - { 55, 10, 27, 69, 107, 158, 39, 76, 82, 95 }, // left = d153 - { 80, 9, 38, 78, 153, 145, 50, 63, 28, 123 }, // left = d207 - { 86, 12, 33, 49, 107, 135, 64, 134, 57, 89 }, // left = d63 - { 56, 19, 55, 60, 163, 255, 38, 84, 22, 36 }, // left = smooth - { 53, 17, 60, 69, 151, 126, 73, 113, 26, 80 }, // left = paeth - }, - { - // above = smooth - { 79, 16, 46, 89, 167, 255, 22, 36, 29, 42 }, // left = dc - { 63, 22, 88, 71, 131, 255, 26, 41, 21, 35 }, // left = v - { 51, 18, 28, 142, 232, 255, 26, 25, 25, 75 }, // left = h - { 75, 18, 43, 70, 140, 255, 37, 49, 34, 89 }, // left = d45 - { 70, 14, 35, 87, 83, 255, 30, 36, 34, 50 }, // left = d135 - { 23, 26, 28, 96, 85, 128, 51, 64, 85, 128 }, // left = d117 - { 74, 12, 33, 83, 128, 255, 27, 33, 58, 68 }, // left = d153 - { 66, 11, 30, 77, 179, 255, 21, 27, 23, 113 }, // left = d207 - { 68, 22, 40, 65, 118, 255, 28, 61, 30, 50 }, // left = d63 - { 60, 18, 44, 69, 141, 255, 18, 32, 22, 40 }, // left = smooth - { 52, 32, 54, 96, 194, 255, 33, 37, 25, 53 }, // left = paeth - }, - { - // above = paeth - { 76, 47, 67, 123, 182, 150, 41, 52, 55, 97 }, // left = dc - { 69, 40, 125, 102, 138, 138, 42, 55, 32, 70 }, // left = v - { 46, 28, 27, 160, 232, 169, 34, 21, 32, 122 }, // left = h - { 78, 35, 41, 99, 128, 124, 49, 43, 35, 111 }, // left = d45 - { 66, 28, 47, 100, 113, 145, 37, 40, 72, 93 }, // left = d135 - { 77, 37, 76, 134, 124, 124, 65, 122, 88, 255 }, // left = d117 - { 53, 23, 38, 108, 128, 204, 26, 32, 115, 114 }, // left = d153 - { 65, 20, 29, 101, 202, 186, 29, 24, 29, 188 }, // left = d207 - { 71, 24, 49, 81, 126, 151, 36, 65, 28, 93 }, // left = d63 - { 54, 36, 53, 94, 193, 255, 25, 38, 20, 64 }, // left = smooth - { 52, 54, 60, 108, 176, 168, 47, 44, 50, 105 }, // left = paeth - }, -}; - -static const aom_prob default_if_y_probs[BLOCK_SIZE_GROUPS][INTRA_MODES - 1] = { - { 88, 16, 47, 133, 143, 150, 70, 48, 84, 122 }, // block_size < 8x8 - { 75, 26, 51, 120, 158, 157, 44, 45, 56, 102 }, // block_size < 16x16 - { 73, 24, 60, 115, 184, 164, 26, 36, 32, 63 }, // block_size < 32x32 - { 96, 27, 50, 107, 221, 148, 16, 22, 14, 39 }, // block_size >= 32x32 -}; - -static const aom_prob default_uv_probs[INTRA_MODES][INTRA_MODES - 1] = { - { 199, 3, 79, 179, 220, 109, 38, 50, 68, 138 }, // y = dc - { 17, 2, 219, 136, 131, 58, 21, 106, 23, 41 }, // y = v - { 26, 1, 5, 244, 253, 138, 16, 21, 68, 205 }, // y = h - { 183, 3, 66, 94, 195, 97, 101, 104, 41, 178 }, // y = d45 - { 178, 2, 36, 158, 99, 175, 21, 29, 105, 77 }, // y = d135 - { 154, 3, 65, 219, 40, 48, 45, 95, 146, 255 }, // y = d117 - { 167, 1, 16, 160, 214, 187, 10, 10, 200, 155 }, // y = d153 - { 154, 2, 18, 178, 238, 132, 25, 21, 34, 221 }, // y = d207 - { 153, 4, 76, 85, 157, 90, 38, 165, 46, 104 }, // y = d63 - { 163, 3, 68, 87, 190, 255, 19, 27, 25, 46 }, // y = smooth - { 185, 7, 113, 171, 203, 57, 18, 69, 49, 104 }, // y = paeth -}; - -#endif // CONFIG_SMOOTH_HV - -#else // !CONFIG_ALT_INTRA - -const aom_prob av1_kf_y_mode_prob[INTRA_MODES][INTRA_MODES][INTRA_MODES - 1] = { - { - // above = dc - { 137, 30, 42, 148, 151, 207, 70, 52, 91 }, // left = dc - { 92, 45, 102, 136, 116, 180, 74, 90, 100 }, // left = v - { 73, 32, 19, 187, 222, 215, 46, 34, 100 }, // left = h - { 91, 30, 32, 116, 121, 186, 93, 86, 94 }, // left = d45 - { 72, 35, 36, 149, 68, 206, 68, 63, 105 }, // left = d135 - { 73, 31, 28, 138, 57, 124, 55, 122, 151 }, // left = d117 - { 67, 23, 21, 140, 126, 197, 40, 37, 171 }, // left = d153 - { 86, 27, 28, 128, 154, 212, 45, 43, 53 }, // left = d207 - { 74, 32, 27, 107, 86, 160, 63, 134, 102 }, // left = d63 - { 59, 67, 44, 140, 161, 202, 78, 67, 119 } // left = tm - }, - { - // above = v - { 63, 36, 126, 146, 123, 158, 60, 90, 96 }, // left = dc - { 43, 46, 168, 134, 107, 128, 69, 142, 92 }, // left = v - { 44, 29, 68, 159, 201, 177, 50, 57, 77 }, // left = h - { 58, 38, 76, 114, 97, 172, 78, 133, 92 }, // left = d45 - { 46, 41, 76, 140, 63, 184, 69, 112, 57 }, // left = d135 - { 38, 32, 85, 140, 46, 112, 54, 151, 133 }, // left = d117 - { 39, 27, 61, 131, 110, 175, 44, 75, 136 }, // left = d153 - { 52, 30, 74, 113, 130, 175, 51, 64, 58 }, // left = d207 - { 47, 35, 80, 100, 74, 143, 64, 163, 74 }, // left = d63 - { 36, 61, 116, 114, 128, 162, 80, 125, 82 } // left = tm - }, - { - // above = h - { 82, 26, 26, 171, 208, 204, 44, 32, 105 }, // left = dc - { 55, 44, 68, 166, 179, 192, 57, 57, 108 }, // left = v - { 42, 26, 11, 199, 241, 228, 23, 15, 85 }, // left = h - { 68, 42, 19, 131, 160, 199, 55, 52, 83 }, // left = d45 - { 58, 50, 25, 139, 115, 232, 39, 52, 118 }, // left = d135 - { 50, 35, 33, 153, 104, 162, 64, 59, 131 }, // left = d117 - { 44, 24, 16, 150, 177, 202, 33, 19, 156 }, // left = d153 - { 55, 27, 12, 153, 203, 218, 26, 27, 49 }, // left = d207 - { 53, 49, 21, 110, 116, 168, 59, 80, 76 }, // left = d63 - { 38, 72, 19, 168, 203, 212, 50, 50, 107 } // left = tm - }, - { - // above = d45 - { 103, 26, 36, 129, 132, 201, 83, 80, 93 }, // left = dc - { 59, 38, 83, 112, 103, 162, 98, 136, 90 }, // left = v - { 62, 30, 23, 158, 200, 207, 59, 57, 50 }, // left = h - { 67, 30, 29, 84, 86, 191, 102, 91, 59 }, // left = d45 - { 60, 32, 33, 112, 71, 220, 64, 89, 104 }, // left = d135 - { 53, 26, 34, 130, 56, 149, 84, 120, 103 }, // left = d117 - { 53, 21, 23, 133, 109, 210, 56, 77, 172 }, // left = d153 - { 77, 19, 29, 112, 142, 228, 55, 66, 36 }, // left = d207 - { 61, 29, 29, 93, 97, 165, 83, 175, 162 }, // left = d63 - { 47, 47, 43, 114, 137, 181, 100, 99, 95 } // left = tm - }, - { - // above = d135 - { 69, 23, 29, 128, 83, 199, 46, 44, 101 }, // left = dc - { 53, 40, 55, 139, 69, 183, 61, 80, 110 }, // left = v - { 40, 29, 19, 161, 180, 207, 43, 24, 91 }, // left = h - { 60, 34, 19, 105, 61, 198, 53, 64, 89 }, // left = d45 - { 52, 31, 22, 158, 40, 209, 58, 62, 89 }, // left = d135 - { 44, 31, 29, 147, 46, 158, 56, 102, 198 }, // left = d117 - { 35, 19, 12, 135, 87, 209, 41, 45, 167 }, // left = d153 - { 55, 25, 21, 118, 95, 215, 38, 39, 66 }, // left = d207 - { 51, 38, 25, 113, 58, 164, 70, 93, 97 }, // left = d63 - { 47, 54, 34, 146, 108, 203, 72, 103, 151 } // left = tm - }, - { - // above = d117 - { 64, 19, 37, 156, 66, 138, 49, 95, 133 }, // left = dc - { 46, 27, 80, 150, 55, 124, 55, 121, 135 }, // left = v - { 36, 23, 27, 165, 149, 166, 54, 64, 118 }, // left = h - { 53, 21, 36, 131, 63, 163, 60, 109, 81 }, // left = d45 - { 40, 26, 35, 154, 40, 185, 51, 97, 123 }, // left = d135 - { 35, 19, 34, 179, 19, 97, 48, 129, 124 }, // left = d117 - { 36, 20, 26, 136, 62, 164, 33, 77, 154 }, // left = d153 - { 45, 18, 32, 130, 90, 157, 40, 79, 91 }, // left = d207 - { 45, 26, 28, 129, 45, 129, 49, 147, 123 }, // left = d63 - { 38, 44, 51, 136, 74, 162, 57, 97, 121 } // left = tm - }, - { - // above = d153 - { 75, 17, 22, 136, 138, 185, 32, 34, 166 }, // left = dc - { 56, 39, 58, 133, 117, 173, 48, 53, 187 }, // left = v - { 35, 21, 12, 161, 212, 207, 20, 23, 145 }, // left = h - { 56, 29, 19, 117, 109, 181, 55, 68, 112 }, // left = d45 - { 47, 29, 17, 153, 64, 220, 59, 51, 114 }, // left = d135 - { 46, 16, 24, 136, 76, 147, 41, 64, 172 }, // left = d117 - { 34, 17, 11, 108, 152, 187, 13, 15, 209 }, // left = d153 - { 51, 24, 14, 115, 133, 209, 32, 26, 104 }, // left = d207 - { 55, 30, 18, 122, 79, 179, 44, 88, 116 }, // left = d63 - { 37, 49, 25, 129, 168, 164, 41, 54, 148 } // left = tm - }, - { - // above = d207 - { 82, 22, 32, 127, 143, 213, 39, 41, 70 }, // left = dc - { 62, 44, 61, 123, 105, 189, 48, 57, 64 }, // left = v - { 47, 25, 17, 175, 222, 220, 24, 30, 86 }, // left = h - { 68, 36, 17, 106, 102, 206, 59, 74, 74 }, // left = d45 - { 57, 39, 23, 151, 68, 216, 55, 63, 58 }, // left = d135 - { 49, 30, 35, 141, 70, 168, 82, 40, 115 }, // left = d117 - { 51, 25, 15, 136, 129, 202, 38, 35, 139 }, // left = d153 - { 68, 26, 16, 111, 141, 215, 29, 28, 28 }, // left = d207 - { 59, 39, 19, 114, 75, 180, 77, 104, 42 }, // left = d63 - { 40, 61, 26, 126, 152, 206, 61, 59, 93 } // left = tm - }, - { - // above = d63 - { 78, 23, 39, 111, 117, 170, 74, 124, 94 }, // left = dc - { 48, 34, 86, 101, 92, 146, 78, 179, 134 }, // left = v - { 47, 22, 24, 138, 187, 178, 68, 69, 59 }, // left = h - { 56, 25, 33, 105, 112, 187, 95, 177, 129 }, // left = d45 - { 48, 31, 27, 114, 63, 183, 82, 116, 56 }, // left = d135 - { 43, 28, 37, 121, 63, 123, 61, 192, 169 }, // left = d117 - { 42, 17, 24, 109, 97, 177, 56, 76, 122 }, // left = d153 - { 58, 18, 28, 105, 139, 182, 70, 92, 63 }, // left = d207 - { 46, 23, 32, 74, 86, 150, 67, 183, 88 }, // left = d63 - { 36, 38, 48, 92, 122, 165, 88, 137, 91 } // left = tm - }, - { - // above = tm - { 65, 70, 60, 155, 159, 199, 61, 60, 81 }, // left = dc - { 44, 78, 115, 132, 119, 173, 71, 112, 93 }, // left = v - { 39, 38, 21, 184, 227, 206, 42, 32, 64 }, // left = h - { 58, 47, 36, 124, 137, 193, 80, 82, 78 }, // left = d45 - { 49, 50, 35, 144, 95, 205, 63, 78, 59 }, // left = d135 - { 41, 53, 52, 148, 71, 142, 65, 128, 51 }, // left = d117 - { 40, 36, 28, 143, 143, 202, 40, 55, 137 }, // left = d153 - { 52, 34, 29, 129, 183, 227, 42, 35, 43 }, // left = d207 - { 42, 44, 44, 104, 105, 164, 64, 130, 80 }, // left = d63 - { 43, 81, 53, 140, 169, 204, 68, 84, 72 } // left = tm - } -}; - -// Default probabilities for signaling Intra mode for Y plane -- used only for -// inter frames. ('av1_kf_y_mode_prob' is used for intra-only frames). -// Context used: block size group. -static const aom_prob default_if_y_probs[BLOCK_SIZE_GROUPS][INTRA_MODES - 1] = { - { 65, 32, 18, 144, 162, 194, 41, 51, 98 }, // block_size < 8x8 - { 132, 68, 18, 165, 217, 196, 45, 40, 78 }, // block_size < 16x16 - { 173, 80, 19, 176, 240, 193, 64, 35, 46 }, // block_size < 32x32 - { 221, 135, 38, 194, 248, 121, 96, 85, 29 } // block_size >= 32x32 -}; - -// Default probabilities for signaling Intra mode for UV plane -- common for -// both intra and inter frames. -// Context used: Intra mode used by Y plane of the same block. -static const aom_prob default_uv_probs[INTRA_MODES][INTRA_MODES - 1] = { - { 120, 7, 76, 176, 208, 126, 28, 54, 103 }, // y = dc - { 48, 12, 154, 155, 139, 90, 34, 117, 119 }, // y = v - { 67, 6, 25, 204, 243, 158, 13, 21, 96 }, // y = h - { 97, 5, 44, 131, 176, 139, 48, 68, 97 }, // y = d45 - { 83, 5, 42, 156, 111, 152, 26, 49, 152 }, // y = d135 - { 80, 5, 58, 178, 74, 83, 33, 62, 145 }, // y = d117 - { 86, 5, 32, 154, 192, 168, 14, 22, 163 }, // y = d153 - { 85, 5, 32, 156, 216, 148, 19, 29, 73 }, // y = d207 - { 77, 7, 64, 116, 132, 122, 37, 126, 120 }, // y = d63 - { 101, 21, 107, 181, 192, 103, 19, 67, 125 } // y = tm -}; - -#endif // CONFIG_ALT_INTRA -#endif // !CONFIG_EC_ADAPT - #if CONFIG_EXT_PARTITION_TYPES static const aom_prob default_partition_probs[PARTITION_CONTEXTS][EXT_PARTITION_TYPES - 1] = { @@ -1046,7 +447,6 @@ { 27, 49, 152, 91, 134, 153, 142 }, // 6 = two intra neighbours }; -#if CONFIG_EC_ADAPT static const aom_cdf_prob default_inter_compound_mode_cdf[INTER_MODE_CONTEXTS][CDF_SIZE( INTER_COMPOUND_MODES)] = { @@ -1058,7 +458,6 @@ { 29824, 19455, 15554, 12017, 9557, 7268, 5776, 0, 0 }, { 29312, 23701, 18699, 15861, 13951, 11554, 9629, 0, 0 } }; -#endif #if CONFIG_COMPOUND_SINGLEREF // TODO(zoeliu): Default values to be further adjusted based on the collected @@ -1128,7 +527,6 @@ [COMPOUND_TYPES - 1]; #endif // CONFIG_COMPOUND_SEGMENT && CONFIG_WEDGE -#if CONFIG_EC_ADAPT #if CONFIG_COMPOUND_SEGMENT && CONFIG_WEDGE static const aom_cdf_prob default_compound_type_cdf[BLOCK_SIZES][CDF_SIZE(COMPOUND_TYPES)] = { @@ -1214,7 +612,6 @@ static const aom_cdf_prob default_compound_type_cdf[BLOCK_SIZES] [CDF_SIZE(COMPOUND_TYPES)]; #endif // CONFIG_COMPOUND_SEGMENT && CONFIG_WEDGE -#endif // CONFIG_EC_ADAPT #if CONFIG_INTERINTRA static const aom_prob default_interintra_prob[BLOCK_SIZE_GROUPS] = { @@ -1235,14 +632,12 @@ { 38, 33, 95 }, // block_size < 32x32 { 51, 21, 110 }, // block_size >= 32x32 }; -#if CONFIG_EC_ADAPT static const aom_cdf_prob default_interintra_mode_cdf[BLOCK_SIZE_GROUPS][CDF_SIZE(INTERINTRA_MODES)] = { { 16384, 8192, 4096, 0, 0 }, { 29696, 25752, 13781, 0, 0 }, { 27904, 24307, 15287, 0, 0 }, { 26240, 24087, 13737, 0, 0 } }; -#endif static const aom_prob default_wedge_interintra_prob[BLOCK_SIZES] = { #if CONFIG_CHROMA_2X2 || CONFIG_CHROMA_SUB8X8 @@ -1343,7 +738,6 @@ #endif // CONFIG_EXT_PARTITION }; #endif -#if CONFIG_EC_ADAPT static const aom_cdf_prob default_motion_mode_cdf[BLOCK_SIZES][CDF_SIZE(MOTION_MODES)] = { #if CONFIG_CHROMA_2X2 || CONFIG_CHROMA_SUB8X8 @@ -1370,7 +764,6 @@ { AOM_ICDF(252 * 128), AOM_ICDF(32768), 0 }, #endif // CONFIG_EXT_PARTITION }; -#endif // CONFIG_EC_ADAPT #elif !CONFIG_MOTION_VAR && CONFIG_WARPED_MOTION @@ -1390,7 +783,6 @@ #endif // CONFIG_EXT_PARTITION }; -#if CONFIG_EC_ADAPT static const aom_cdf_prob default_motion_mode_cdf[BLOCK_SIZES][CDF_SIZE(MOTION_MODES)] = { #if CONFIG_CHROMA_2X2 || CONFIG_CHROMA_SUB8X8 @@ -1417,7 +809,6 @@ { AOM_ICDF(252 * 128), AOM_ICDF(32768), 0 }, #endif // CONFIG_EXT_PARTITION }; -#endif // CONFIG_EC_ADAPT #elif CONFIG_MOTION_VAR && CONFIG_WARPED_MOTION @@ -1437,7 +828,6 @@ #endif // CONFIG_EXT_PARTITION }; -#if CONFIG_EC_ADAPT static const aom_cdf_prob default_motion_mode_cdf[BLOCK_SIZES][CDF_SIZE(MOTION_MODES)] = { #if CONFIG_CHROMA_2X2 || CONFIG_CHROMA_SUB8X8 @@ -1464,7 +854,6 @@ { AOM_ICDF(32256), AOM_ICDF(32656), AOM_ICDF(32768), 0 }, #endif }; -#endif // !CONFIG_EC_ADAPT // Probability for the case that only 1 additional motion mode is allowed static const aom_prob default_obmc_prob[BLOCK_SIZES] = { @@ -1519,10 +908,6 @@ }; #endif #endif -#if !CONFIG_EC_ADAPT -int av1_intra_mode_ind[INTRA_MODES]; -int av1_intra_mode_inv[INTRA_MODES]; -#endif #if CONFIG_EXT_TX int av1_ext_tx_intra_ind[EXT_TX_SETS_INTRA][TX_TYPES]; int av1_ext_tx_intra_inv[EXT_TX_SETS_INTRA][TX_TYPES]; @@ -1530,7 +915,6 @@ int av1_ext_tx_inter_inv[EXT_TX_SETS_INTER][TX_TYPES]; #endif -#if CONFIG_EC_ADAPT #if CONFIG_ALT_INTRA #if CONFIG_SMOOTH_HV const int av1_intra_mode_ind[INTRA_MODES] = { 0, 2, 3, 6, 4, 5, 8, @@ -1549,63 +933,6 @@ const int av1_intra_mode_ind[INTRA_MODES] = { 0, 2, 3, 6, 4, 5, 8, 9, 7, 1 }; const int av1_intra_mode_inv[INTRA_MODES] = { 0, 9, 1, 2, 4, 5, 3, 8, 6, 7 } #endif // CONFIG_ALT_INTRA -#else -#if CONFIG_ALT_INTRA -#if CONFIG_SMOOTH_HV -const aom_tree_index av1_intra_mode_tree[TREE_SIZE(INTRA_MODES)] = { - -DC_PRED, - 2, /* 0 = DC_NODE */ - -TM_PRED, - 4, /* 1 = TM_NODE */ - -V_PRED, - 6, /* 2 = V_NODE */ - 8, - 12, /* 3 = COM_NODE */ - -H_PRED, - 10, /* 4 = H_NODE */ - -D135_PRED, - -D117_PRED, /* 5 = D135_NODE */ - -D45_PRED, - 14, /* 6 = D45_NODE */ - -D63_PRED, - 16, /* 7 = D63_NODE */ - -D153_PRED, - 18, /* 8 = D153_NODE */ - -D207_PRED, - 20, /* 9 = D207_NODE */ - -SMOOTH_PRED, - 22, /* 10 = SMOOTH_NODE */ - -SMOOTH_V_PRED, - -SMOOTH_H_PRED /* 11 = SMOOTH_V_NODE */ -}; -#else -const aom_tree_index av1_intra_mode_tree[TREE_SIZE(INTRA_MODES)] = { - -DC_PRED, 2, /* 0 = DC_NODE */ - -TM_PRED, 4, /* 1 = TM_NODE */ - -V_PRED, 6, /* 2 = V_NODE */ - 8, 12, /* 3 = COM_NODE */ - -H_PRED, 10, /* 4 = H_NODE */ - -D135_PRED, -D117_PRED, /* 5 = D135_NODE */ - -D45_PRED, 14, /* 6 = D45_NODE */ - -D63_PRED, 16, /* 7 = D63_NODE */ - -D153_PRED, 18, /* 8 = D153_NODE */ - -D207_PRED, -SMOOTH_PRED, /* 9 = D207_NODE */ -}; -#endif // CONFIG_SMOOTH_HV -#else -const aom_tree_index av1_intra_mode_tree[TREE_SIZE(INTRA_MODES)] = { - -DC_PRED, 2, /* 0 = DC_NODE */ - -TM_PRED, 4, /* 1 = TM_NODE */ - -V_PRED, 6, /* 2 = V_NODE */ - 8, 12, /* 3 = COM_NODE */ - -H_PRED, 10, /* 4 = H_NODE */ - -D135_PRED, -D117_PRED, /* 5 = D135_NODE */ - -D45_PRED, 14, /* 6 = D45_NODE */ - -D63_PRED, 16, /* 7 = D63_NODE */ - -D153_PRED, -D207_PRED /* 8 = D153_NODE */ -}; -#endif // CONFIG_ALT_INTRA -#endif // !CONFIG_EC_ADAPT #if CONFIG_EXT_INTER /* clang-format off */ @@ -5198,10 +4525,6 @@ }; static void init_mode_probs(FRAME_CONTEXT *fc) { -#if !CONFIG_EC_ADAPT - av1_copy(fc->uv_mode_prob, default_uv_probs); - av1_copy(fc->y_mode_prob, default_if_y_probs); -#endif av1_copy(fc->switchable_interp_prob, default_switchable_interp_prob); av1_copy(fc->partition_prob, default_partition_probs); av1_copy(fc->intra_inter_prob, default_intra_inter_p); @@ -5270,9 +4593,7 @@ #if CONFIG_NCOBMC_ADAPT_WEIGHT && CONFIG_MOTION_VAR av1_copy(fc->ncobmc_mode_prob, default_ncobmc_mode_prob); #endif -#if CONFIG_EC_ADAPT av1_copy(fc->motion_mode_cdf, default_motion_mode_cdf); -#endif #if CONFIG_MOTION_VAR && CONFIG_WARPED_MOTION av1_copy(fc->obmc_prob, default_obmc_prob); #if CONFIG_NEW_MULTISYMBOL @@ -5282,17 +4603,13 @@ #endif // CONFIG_MOTION_VAR || CONFIG_WARPED_MOTION #if CONFIG_EXT_INTER av1_copy(fc->inter_compound_mode_probs, default_inter_compound_mode_probs); -#if CONFIG_EC_ADAPT av1_copy(fc->inter_compound_mode_cdf, default_inter_compound_mode_cdf); -#endif #if CONFIG_COMPOUND_SINGLEREF av1_copy(fc->inter_singleref_comp_mode_probs, default_inter_singleref_comp_mode_probs); #endif // CONFIG_COMPOUND_SINGLEREF av1_copy(fc->compound_type_prob, default_compound_type_probs); -#if CONFIG_EC_ADAPT av1_copy(fc->compound_type_cdf, default_compound_type_cdf); -#endif #if CONFIG_INTERINTRA av1_copy(fc->interintra_prob, default_interintra_prob); av1_copy(fc->wedge_interintra_prob, default_wedge_interintra_prob); @@ -5301,9 +4618,7 @@ av1_copy(fc->wedge_interintra_cdf, default_wedge_interintra_cdf); #endif // CONFIG_NEW_MULTISYMBOL av1_copy(fc->interintra_mode_prob, default_interintra_mode_prob); -#if CONFIG_EC_ADAPT av1_copy(fc->interintra_mode_cdf, default_interintra_mode_cdf); -#endif #endif // CONFIG_INTERINTRA #endif // CONFIG_EXT_INTER #if CONFIG_SUPERTX @@ -5358,106 +4673,6 @@ int av1_switchable_interp_ind[SWITCHABLE_FILTERS]; int av1_switchable_interp_inv[SWITCHABLE_FILTERS]; -#if !CONFIG_EC_ADAPT -void av1_set_mode_cdfs(struct AV1Common *cm) { - FRAME_CONTEXT *fc = cm->fc; - int i, j; - if (cm->seg.enabled && cm->seg.update_map) { - av1_tree_to_cdf(av1_segment_tree, cm->fc->seg.tree_probs, - cm->fc->seg.tree_cdf); - } - -#if !CONFIG_EC_ADAPT - for (i = 0; i < INTRA_MODES; ++i) - av1_tree_to_cdf(av1_intra_mode_tree, fc->uv_mode_prob[i], - fc->uv_mode_cdf[i]); -#endif -#if CONFIG_EXT_PARTITION_TYPES - for (i = 0; i < PARTITION_PLOFFSET; ++i) - av1_tree_to_cdf(av1_partition_tree, fc->partition_prob[i], - fc->partition_cdf[i]); - // Logical index (enum value) to inorder index (tree_to_cdf order) - aom_cdf_prob inorder_partition_cdf[CDF_SIZE(EXT_PARTITION_TYPES)] = {}; - // TODO(aconverse): Generate this dynamically. The assumptions that - // av1_indices_from_tree() makes don't hold for this tree. - static const uint8_t av1_ext_partition_index_map[EXT_PARTITION_TYPES] = { - 0, 1, 4, 7, 2, 3, 5, 6, - }; - for (; i < PARTITION_CONTEXTS; ++i) { - av1_tree_to_cdf(av1_ext_partition_tree, fc->partition_prob[i], - inorder_partition_cdf); - aom_cdf_prob cum_prob = 0; - for (j = 0; j < EXT_PARTITION_TYPES; ++j) { - int inorder_idx = av1_ext_partition_index_map[j]; - aom_cdf_prob prob = - AOM_ICDF(inorder_partition_cdf[inorder_idx]) - - (inorder_idx > 0 ? AOM_ICDF(inorder_partition_cdf[inorder_idx - 1]) - : 0); - cum_prob += prob; - fc->partition_cdf[i][j] = AOM_ICDF(cum_prob); - } - assert(cum_prob == CDF_PROB_TOP); - } -#else - for (i = 0; i < PARTITION_CONTEXTS; ++i) - av1_tree_to_cdf(av1_partition_tree, fc->partition_prob[i], - fc->partition_cdf[i]); -#endif - -#if !CONFIG_EC_ADAPT - for (i = 0; i < INTRA_MODES; ++i) - for (j = 0; j < INTRA_MODES; ++j) - av1_tree_to_cdf(av1_intra_mode_tree, cm->kf_y_prob[i][j], - cm->fc->kf_y_cdf[i][j]); -#endif - - for (j = 0; j < SWITCHABLE_FILTER_CONTEXTS; ++j) - av1_tree_to_cdf(av1_switchable_interp_tree, fc->switchable_interp_prob[j], - fc->switchable_interp_cdf[j]); - -#if !CONFIG_EC_ADAPT - for (i = 0; i < BLOCK_SIZE_GROUPS; ++i) - av1_tree_to_cdf(av1_intra_mode_tree, fc->y_mode_prob[i], fc->y_mode_cdf[i]); -#endif - -#if CONFIG_EXT_TX - int s; - for (s = 0; s < EXT_TX_SETS_INTRA; ++s) - for (i = TX_4X4; i < EXT_TX_SIZES; ++i) - for (j = 0; j < INTRA_MODES; ++j) - av1_tree_to_cdf(av1_ext_tx_intra_tree[s], - fc->intra_ext_tx_prob[s][i][j], - fc->intra_ext_tx_cdf[s][i][j]); - - for (s = 0; s < EXT_TX_SETS_INTER; ++s) - for (i = TX_4X4; i < EXT_TX_SIZES; ++i) - av1_tree_to_cdf(av1_ext_tx_inter_tree[s], fc->inter_ext_tx_prob[s][i], - fc->inter_ext_tx_cdf[s][i]); -#else - for (i = TX_4X4; i < EXT_TX_SIZES; ++i) - for (j = 0; j < TX_TYPES; ++j) - av1_tree_to_cdf(av1_ext_tx_tree, fc->intra_ext_tx_prob[i][j], - fc->intra_ext_tx_cdf[i][j]); - - for (i = TX_4X4; i < EXT_TX_SIZES; ++i) - av1_tree_to_cdf(av1_ext_tx_tree, fc->inter_ext_tx_prob[i], - fc->inter_ext_tx_cdf[i]); -#endif - for (i = 0; i < MAX_TX_DEPTH; i++) { - for (j = 0; j < TX_SIZE_CONTEXTS; j++) { - av1_tree_to_cdf(av1_tx_size_tree[i], fc->tx_size_probs[i][j], - fc->tx_size_cdf[i][j]); - } - } -#if CONFIG_EXT_INTRA && CONFIG_INTRA_INTERP - for (i = 0; i < INTRA_FILTERS + 1; ++i) { - av1_tree_to_cdf(av1_intra_filter_tree, fc->intra_filter_probs[i], - fc->intra_filter_cdf[i]); - } -#endif // CONFIG_EXT_INTRA && CONFIG_INTRA_INTERP -} -#endif // !CONFIG_EC_ADAPT - #if CONFIG_DUAL_FILTER && USE_EXTRA_FILTER const aom_tree_index av1_switchable_interp_tree[TREE_SIZE(SWITCHABLE_FILTERS)] = { @@ -5606,12 +4821,6 @@ #endif // CONFIG_COMPOUND_SEGMENT || CONFIG_WEDGE #endif // CONFIG_EXT_INTER -#if !CONFIG_EC_ADAPT - for (i = 0; i < BLOCK_SIZE_GROUPS; i++) - aom_tree_merge_probs(av1_intra_mode_tree, pre_fc->y_mode_prob[i], - counts->y_mode[i], fc->y_mode_prob[i]); -#endif - if (cm->interp_filter == SWITCHABLE) { for (i = 0; i < SWITCHABLE_FILTER_CONTEXTS; i++) aom_tree_merge_probs( @@ -5695,12 +4904,6 @@ counts->seg.tree_total, fc->seg.tree_probs); } -#if !CONFIG_EC_ADAPT - for (i = 0; i < INTRA_MODES; ++i) - aom_tree_merge_probs(av1_intra_mode_tree, pre_fc->uv_mode_prob[i], - counts->uv_mode[i], fc->uv_mode_prob[i]); -#endif - #if CONFIG_EXT_PARTITION_TYPES for (i = 0; i < PARTITION_PLOFFSET; ++i) aom_tree_merge_probs(av1_partition_tree, pre_fc->partition_prob[i],
diff --git a/av1/common/entropymode.h b/av1/common/entropymode.h index d2d7942..18d4aa2 100644 --- a/av1/common/entropymode.h +++ b/av1/common/entropymode.h
@@ -195,37 +195,29 @@ #if CONFIG_EXT_INTER aom_prob inter_compound_mode_probs[INTER_MODE_CONTEXTS] [INTER_COMPOUND_MODES - 1]; -#if CONFIG_EC_ADAPT aom_cdf_prob inter_compound_mode_cdf[INTER_MODE_CONTEXTS] [CDF_SIZE(INTER_COMPOUND_MODES)]; -#endif #if CONFIG_COMPOUND_SINGLEREF aom_prob inter_singleref_comp_mode_probs[INTER_MODE_CONTEXTS] [INTER_SINGLEREF_COMP_MODES - 1]; #endif // CONFIG_COMPOUND_SINGLEREF aom_prob compound_type_prob[BLOCK_SIZES][COMPOUND_TYPES - 1]; -#if CONFIG_EC_ADAPT aom_cdf_prob compound_type_cdf[BLOCK_SIZES][CDF_SIZE(COMPOUND_TYPES)]; -#endif #if CONFIG_INTERINTRA aom_prob interintra_prob[BLOCK_SIZE_GROUPS]; aom_prob wedge_interintra_prob[BLOCK_SIZES]; aom_prob interintra_mode_prob[BLOCK_SIZE_GROUPS][INTERINTRA_MODES - 1]; -#if CONFIG_EC_ADAPT #if CONFIG_NEW_MULTISYMBOL aom_cdf_prob interintra_cdf[BLOCK_SIZE_GROUPS][CDF_SIZE(2)]; aom_cdf_prob wedge_interintra_cdf[BLOCK_SIZES][CDF_SIZE(2)]; #endif aom_cdf_prob interintra_mode_cdf[BLOCK_SIZE_GROUPS] [CDF_SIZE(INTERINTRA_MODES)]; -#endif #endif // CONFIG_INTERINTRA #endif // CONFIG_EXT_INTER #if CONFIG_MOTION_VAR || CONFIG_WARPED_MOTION aom_prob motion_mode_prob[BLOCK_SIZES][MOTION_MODES - 1]; -#if CONFIG_EC_ADAPT aom_cdf_prob motion_mode_cdf[BLOCK_SIZES][CDF_SIZE(MOTION_MODES)]; -#endif #if CONFIG_NCOBMC_ADAPT_WEIGHT && CONFIG_MOTION_VAR aom_prob ncobmc_mode_prob[ADAPT_OVERLAP_BLOCKS][MAX_NCOBMC_MODES - 1]; #endif @@ -372,11 +364,11 @@ typedef struct FRAME_COUNTS { // Note: This structure should only contain 'unsigned int' fields, or // aggregates built solely from 'unsigned int' fields/elements -#if !CONFIG_EC_ADAPT || CONFIG_ENTROPY_STATS +#if CONFIG_ENTROPY_STATS unsigned int kf_y_mode[INTRA_MODES][INTRA_MODES][INTRA_MODES]; unsigned int y_mode[BLOCK_SIZE_GROUPS][INTRA_MODES]; unsigned int uv_mode[INTRA_MODES][INTRA_MODES]; -#endif // !CONFIG_EC_ADAPT || CONFIG_ENTROPY_STATS +#endif // CONFIG_ENTROPY_STATS #if CONFIG_EXT_PARTITION_TYPES unsigned int partition[PARTITION_CONTEXTS][EXT_PARTITION_TYPES]; #else @@ -510,13 +502,6 @@ #endif // CONFIG_FILTER_INTRA } FRAME_COUNTS; -#if !CONFIG_EC_ADAPT -// Default probabilities for signaling Intra mode for Y plane -- used only for -// intra-only frames. ('default_if_y_probs' is used for inter frames). -// Contexts used: Intra mode (Y plane) of 'above' and 'left' blocks. -extern const aom_prob av1_kf_y_mode_prob[INTRA_MODES][INTRA_MODES] - [INTRA_MODES - 1]; -#endif // CDF version of 'av1_kf_y_mode_prob'. extern const aom_cdf_prob av1_kf_y_mode_cdf[INTRA_MODES][INTRA_MODES] [CDF_SIZE(INTRA_MODES)]; @@ -536,14 +521,8 @@ [PALETTE_SIZES][PALETTE_COLOR_INDEX_CONTEXTS][PALETTE_COLORS - 1]; #endif // CONFIG_PALETTE -#if !CONFIG_EC_ADAPT -extern const aom_tree_index av1_intra_mode_tree[TREE_SIZE(INTRA_MODES)]; -extern int av1_intra_mode_ind[INTRA_MODES]; -extern int av1_intra_mode_inv[INTRA_MODES]; -#else extern const int av1_intra_mode_ind[INTRA_MODES]; extern const int av1_intra_mode_inv[INTRA_MODES]; -#endif #if CONFIG_EXT_TX extern int av1_ext_tx_intra_ind[EXT_TX_SETS_INTRA][TX_TYPES]; extern int av1_ext_tx_intra_inv[EXT_TX_SETS_INTRA][TX_TYPES]; @@ -605,10 +584,6 @@ extern int av1_switchable_interp_ind[SWITCHABLE_FILTERS]; extern int av1_switchable_interp_inv[SWITCHABLE_FILTERS]; -#if !CONFIG_EC_ADAPT -void av1_set_mode_cdfs(struct AV1Common *cm); -#endif - void av1_setup_past_independence(struct AV1Common *cm); void av1_adapt_intra_frame_probs(struct AV1Common *cm);
diff --git a/av1/common/entropymv.c b/av1/common/entropymv.c index 7c5a944..a41cf2c 100644 --- a/av1/common/entropymv.c +++ b/av1/common/entropymv.c
@@ -228,25 +228,6 @@ } } -#if !CONFIG_EC_ADAPT -void av1_set_mv_cdfs(nmv_context *ctx) { - int i; - int j; - av1_tree_to_cdf(av1_mv_joint_tree, ctx->joints, ctx->joint_cdf); - - for (i = 0; i < 2; ++i) { - nmv_component *const comp_ctx = &ctx->comps[i]; - av1_tree_to_cdf(av1_mv_class_tree, comp_ctx->classes, comp_ctx->class_cdf); - - for (j = 0; j < CLASS0_SIZE; ++j) { - av1_tree_to_cdf(av1_mv_fp_tree, comp_ctx->class0_fp[j], - comp_ctx->class0_fp_cdf[j]); - } - av1_tree_to_cdf(av1_mv_fp_tree, comp_ctx->fp, comp_ctx->fp_cdf); - } -} -#endif - void av1_init_mv_probs(AV1_COMMON *cm) { int i; for (i = 0; i < NMV_CONTEXTS; ++i) {
diff --git a/av1/common/entropymv.h b/av1/common/entropymv.h index 5b2d348..544fe9f 100644 --- a/av1/common/entropymv.h +++ b/av1/common/entropymv.h
@@ -137,9 +137,6 @@ void av1_inc_mv(const MV *mv, nmv_context_counts *mvctx, MvSubpelPrecision precision); -#if !CONFIG_EC_ADAPT -void av1_set_mv_cdfs(nmv_context *ctx); -#endif #ifdef __cplusplus } // extern "C"
diff --git a/av1/common/generic_code.c b/av1/common/generic_code.c index 2955a69..7285dec 100644 --- a/av1/common/generic_code.c +++ b/av1/common/generic_code.c
@@ -22,9 +22,7 @@ for (i = 0; i < nsyms; i++) cdf[i] = AOM_ICDF((i + 1)*CDF_PROB_TOP/nsyms); -#if CONFIG_EC_ADAPT cdf[cdf_size - 1] = 0; -#endif } /** Adapts a Q15 cdf after encoding/decoding a symbol. */
diff --git a/av1/common/generic_code.h b/av1/common/generic_code.h index c9d8779..e1620ee 100644 --- a/av1/common/generic_code.h +++ b/av1/common/generic_code.h
@@ -47,7 +47,7 @@ #define OD_CDFS_INIT_Q15(cdfs) \ { int n_cdfs = sizeof(cdfs)/sizeof(cdfs[0]); \ int cdf_size = sizeof(cdfs[0])/sizeof(cdfs[0][0]); \ - int nsyms = cdf_size - CONFIG_EC_ADAPT; \ + int nsyms = cdf_size - 1; \ int i_; \ for (i_ = 0; i_ < n_cdfs; i_++) \ aom_cdf_init_q15_1D(cdfs[i_], nsyms, cdf_size); \
diff --git a/av1/decoder/decodeframe.c b/av1/decoder/decodeframe.c index 9affe14..b941c02 100644 --- a/av1/decoder/decodeframe.c +++ b/av1/decoder/decodeframe.c
@@ -163,26 +163,6 @@ #endif // CONFIG_VAR_TX_NO_TX_MODE } -#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) - for (j = 0; j < TX_SIZE_CONTEXTS; ++j) - 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) { - int i, j; - for (j = 0; j < SWITCHABLE_FILTER_CONTEXTS; ++j) { - for (i = 0; i < SWITCHABLE_FILTERS - 1; ++i) - av1_diff_update_prob(r, &fc->switchable_interp_prob[j][i], ACCT_STR); - } -} -#endif - #if !CONFIG_NEW_MULTISYMBOL static void read_inter_mode_probs(FRAME_CONTEXT *fc, aom_reader *r) { int i; @@ -197,21 +177,7 @@ } #endif -#if CONFIG_EXT_INTER -#if !CONFIG_EC_ADAPT -static void read_inter_compound_mode_probs(FRAME_CONTEXT *fc, aom_reader *r) { - int i, j; - if (aom_read(r, GROUP_DIFF_UPDATE_PROB, ACCT_STR)) { - for (j = 0; j < INTER_MODE_CONTEXTS; ++j) { - for (i = 0; i < INTER_COMPOUND_MODES - 1; ++i) { - av1_diff_update_prob(r, &fc->inter_compound_mode_probs[j][i], ACCT_STR); - } - } - } -} -#endif // CONFIG_EC_ADAPT - -#if CONFIG_COMPOUND_SINGLEREF +#if CONFIG_EXT_INTER && CONFIG_COMPOUND_SINGLEREF static void read_inter_singleref_comp_mode_probs(FRAME_CONTEXT *fc, aom_reader *r) { int i, j; @@ -224,30 +190,7 @@ } } } -#endif // CONFIG_COMPOUND_SINGLEREF -#endif // CONFIG_EXT_INTER - -#if !CONFIG_EC_ADAPT -#if !CONFIG_EXT_TX -static void read_ext_tx_probs(FRAME_CONTEXT *fc, aom_reader *r) { - int i, j, k; - if (aom_read(r, GROUP_DIFF_UPDATE_PROB, ACCT_STR)) { - for (i = TX_4X4; i < EXT_TX_SIZES; ++i) { - for (j = 0; j < TX_TYPES; ++j) { - for (k = 0; k < TX_TYPES - 1; ++k) - av1_diff_update_prob(r, &fc->intra_ext_tx_prob[i][j][k], ACCT_STR); - } - } - } - if (aom_read(r, GROUP_DIFF_UPDATE_PROB, ACCT_STR)) { - for (i = TX_4X4; i < EXT_TX_SIZES; ++i) { - for (k = 0; k < TX_TYPES - 1; ++k) - av1_diff_update_prob(r, &fc->inter_ext_tx_prob[i][k], ACCT_STR); - } - } -} -#endif -#endif +#endif // CONFIG_EXT_INTER && CONFIG_COMPOUND_SINGLEREF static REFERENCE_MODE read_frame_reference_mode( const AV1_COMMON *cm, struct aom_read_bit_buffer *rb) { @@ -323,27 +266,6 @@ static void read_mv_probs(nmv_context *ctx, int allow_hp, aom_reader *r) { int i; - -#if !CONFIG_EC_ADAPT - int j; - update_mv_probs(ctx->joints, MV_JOINTS - 1, r); - - for (i = 0; i < 2; ++i) { - nmv_component *const comp_ctx = &ctx->comps[i]; - update_mv_probs(&comp_ctx->sign, 1, r); - update_mv_probs(comp_ctx->classes, MV_CLASSES - 1, r); - update_mv_probs(comp_ctx->class0, CLASS0_SIZE - 1, r); - update_mv_probs(comp_ctx->bits, MV_OFFSET_BITS, r); - } - for (i = 0; i < 2; ++i) { - nmv_component *const comp_ctx = &ctx->comps[i]; - for (j = 0; j < CLASS0_SIZE; ++j) { - update_mv_probs(comp_ctx->class0_fp[j], MV_FP_SIZE - 1, r); - } - update_mv_probs(comp_ctx->fp, MV_FP_SIZE - 1, r); - } -#endif // !CONFIG_EC_ADAPT - if (allow_hp) { for (i = 0; i < 2; ++i) { nmv_component *const comp_ctx = &ctx->comps[i]; @@ -2319,12 +2241,8 @@ FRAME_COUNTS *const counts = xd->counts; #endif PARTITION_TYPE p; -#if CONFIG_EC_ADAPT FRAME_CONTEXT *ec_ctx = xd->tile_ctx; (void)cm; -#else - FRAME_CONTEXT *ec_ctx = cm->fc; -#endif aom_cdf_prob *partition_cdf = (ctx >= 0) ? ec_ctx->partition_cdf[ctx] : NULL; @@ -2631,11 +2549,7 @@ if (skip) { av1_reset_skip_context(xd, mi_row, mi_col, bsize); } else { -#if CONFIG_EC_ADAPT FRAME_CONTEXT *ec_ctx = xd->tile_ctx; -#else - FRAME_CONTEXT *ec_ctx = cm->fc; -#endif #if CONFIG_EXT_TX if (get_ext_tx_types(supertx_size, bsize, 1, cm->reduced_tx_set_used) > 1) { @@ -2740,33 +2654,6 @@ "Failed to allocate bool decoder %d", 1); } -#if !CONFIG_PVQ && !CONFIG_EC_ADAPT && !CONFIG_LV_MAP -static void read_coef_probs_common(av1_coeff_probs_model *coef_probs, - aom_reader *r) { - int i, j, k, l, m; -#if CONFIG_EC_ADAPT - const int node_limit = UNCONSTRAINED_NODES - 1; -#else - const int node_limit = UNCONSTRAINED_NODES; -#endif - - if (aom_read_bit(r, ACCT_STR)) - for (i = 0; i < PLANE_TYPES; ++i) - for (j = 0; j < REF_TYPES; ++j) - for (k = 0; k < COEF_BANDS; ++k) - for (l = 0; l < BAND_COEFF_CONTEXTS(k); ++l) - for (m = 0; m < node_limit; ++m) - av1_diff_update_prob(r, &coef_probs[i][j][k][l][m], ACCT_STR); -} - -static void read_coef_probs(FRAME_CONTEXT *fc, TX_MODE tx_mode, aom_reader *r) { - const TX_SIZE max_tx_size = tx_mode_to_biggest_tx_size[tx_mode]; - TX_SIZE tx_size; - for (tx_size = 0; tx_size <= max_tx_size; ++tx_size) - read_coef_probs_common(fc->coef_probs[tx_size], r); -} -#endif - static void setup_segmentation(AV1_COMMON *const cm, struct aom_read_bit_buffer *rb) { struct segmentation *const seg = &cm->seg; @@ -3858,11 +3745,9 @@ #endif td->dqcoeff); -#if CONFIG_EC_ADAPT // Initialise the tile context from the frame context td->tctx = *cm->fc; td->xd.tile_ctx = &td->tctx; -#endif #if CONFIG_PVQ daala_dec_init(cm, &td->xd.daala_dec, &td->bit_reader); @@ -4223,11 +4108,9 @@ daala_dec_init(cm, &twd->xd.daala_dec, &twd->bit_reader); twd->xd.daala_dec.state.adapt = &twd->tctx.pvq_context; #endif -#if CONFIG_EC_ADAPT // Initialise the tile context from the frame context twd->tctx = *cm->fc; twd->xd.tile_ctx = &twd->tctx; -#endif #if CONFIG_PALETTE twd->xd.plane[0].color_index_map = twd->color_index_map[0]; twd->xd.plane[1].color_index_map = twd->color_index_map[1]; @@ -4844,37 +4727,6 @@ return sz; } -#if CONFIG_EXT_TX -#if !CONFIG_EC_ADAPT -static void read_ext_tx_probs(FRAME_CONTEXT *fc, aom_reader *r) { - int i, j, k; - int s; - for (s = 1; s < EXT_TX_SETS_INTER; ++s) { - if (aom_read(r, GROUP_DIFF_UPDATE_PROB, ACCT_STR)) { - for (i = TX_4X4; i < EXT_TX_SIZES; ++i) { - if (!use_inter_ext_tx_for_txsize[s][i]) continue; - for (j = 0; j < num_ext_tx_set[ext_tx_set_type_inter[s]] - 1; ++j) - av1_diff_update_prob(r, &fc->inter_ext_tx_prob[s][i][j], ACCT_STR); - } - } - } - - for (s = 1; s < EXT_TX_SETS_INTRA; ++s) { - if (aom_read(r, GROUP_DIFF_UPDATE_PROB, ACCT_STR)) { - for (i = TX_4X4; i < EXT_TX_SIZES; ++i) { - if (!use_intra_ext_tx_for_txsize[s][i]) continue; - for (j = 0; j < INTRA_MODES; ++j) - for (k = 0; k < num_ext_tx_set[ext_tx_set_type_intra[s]] - 1; ++k) - av1_diff_update_prob(r, &fc->intra_ext_tx_prob[s][i][j][k], - ACCT_STR); - } - } - } -} -#endif // !CONFIG_EC_ADAPT -#else - -#endif // CONFIG_EXT_TX #if CONFIG_SUPERTX static void read_supertx_probs(FRAME_CONTEXT *fc, aom_reader *r) { int i, j; @@ -5004,9 +4856,6 @@ FRAME_CONTEXT *const fc = cm->fc; aom_reader r; int i; -#if !CONFIG_EC_ADAPT - int j; -#endif #if CONFIG_ANS && ANS_MAX_SYMBOLS r.window_size = 1 << cm->ans_window_size_log2; @@ -5025,9 +4874,6 @@ } #endif -#if !CONFIG_EC_ADAPT - if (cm->tx_mode == TX_MODE_SELECT) read_tx_size_probs(fc, &r); -#endif #if CONFIG_EXT_TX && CONFIG_RECT_TX && CONFIG_RECT_TX_EXT if (cm->tx_mode == TX_MODE_SELECT) av1_diff_update_prob(&r, &fc->quarter_tx_size_prob, ACCT_STR); @@ -5035,12 +4881,6 @@ #if CONFIG_LV_MAP av1_read_txb_probs(fc, cm->tx_mode, &r); -#else // CONFIG_LV_MAP -#if !CONFIG_PVQ -#if !CONFIG_EC_ADAPT - read_coef_probs(fc, cm->tx_mode, &r); -#endif // !CONFIG_EC_ADAPT -#endif // !CONFIG_PVQ #endif // CONFIG_LV_MAP #if !CONFIG_NEW_MULTISYMBOL @@ -5052,76 +4892,8 @@ av1_diff_update_prob(&r, &fc->skip_probs[i], ACCT_STR); #endif -#if CONFIG_DELTA_Q && !CONFIG_EC_ADAPT -#if CONFIG_EXT_DELTA_Q - if (cm->delta_q_present_flag) { - for (i = 0; i < DELTA_Q_PROBS; ++i) - av1_diff_update_prob(&r, &fc->delta_q_prob[i], ACCT_STR); - } - if (cm->delta_lf_present_flag) { - for (i = 0; i < DELTA_LF_PROBS; ++i) - av1_diff_update_prob(&r, &fc->delta_lf_prob[i], ACCT_STR); - } -#else - for (i = 0; i < DELTA_Q_PROBS; ++i) - av1_diff_update_prob(&r, &fc->delta_q_prob[i], ACCT_STR); -#endif -#endif - -#if !CONFIG_EC_ADAPT - if (cm->seg.enabled && cm->seg.update_map) { - if (cm->seg.temporal_update) { - for (i = 0; i < PREDICTION_PROBS; i++) - av1_diff_update_prob(&r, &cm->fc->seg.pred_probs[i], ACCT_STR); - } - for (i = 0; i < MAX_SEGMENTS - 1; i++) - av1_diff_update_prob(&r, &cm->fc->seg.tree_probs[i], ACCT_STR); - } - - for (j = 0; j < INTRA_MODES; j++) { - for (i = 0; i < INTRA_MODES - 1; ++i) - av1_diff_update_prob(&r, &fc->uv_mode_prob[j][i], ACCT_STR); - } - -#if CONFIG_EXT_PARTITION_TYPES - for (j = 0; j < PARTITION_PLOFFSET; ++j) - for (i = 0; i < PARTITION_TYPES - 1; ++i) - av1_diff_update_prob(&r, &fc->partition_prob[j][i], ACCT_STR); - for (; j < PARTITION_CONTEXTS_PRIMARY; ++j) - for (i = 0; i < EXT_PARTITION_TYPES - 1; ++i) - av1_diff_update_prob(&r, &fc->partition_prob[j][i], ACCT_STR); -#else - for (j = 0; j < PARTITION_CONTEXTS_PRIMARY; ++j) - for (i = 0; i < PARTITION_TYPES - 1; ++i) - av1_diff_update_prob(&r, &fc->partition_prob[j][i], ACCT_STR); -#endif // CONFIG_EXT_PARTITION_TYPES - -#if CONFIG_UNPOISON_PARTITION_CTX - for (; j < PARTITION_CONTEXTS_PRIMARY + PARTITION_BLOCK_SIZES; ++j) - av1_diff_update_prob(&r, &fc->partition_prob[j][PARTITION_VERT], ACCT_STR); - for (; j < PARTITION_CONTEXTS_PRIMARY + 2 * PARTITION_BLOCK_SIZES; ++j) - av1_diff_update_prob(&r, &fc->partition_prob[j][PARTITION_HORZ], ACCT_STR); -#endif // CONFIG_UNPOISON_PARTITION_CTX - -#if CONFIG_EXT_INTRA && CONFIG_INTRA_INTERP - for (i = 0; i < INTRA_FILTERS + 1; ++i) - for (j = 0; j < INTRA_FILTERS - 1; ++j) - av1_diff_update_prob(&r, &fc->intra_filter_probs[i][j], ACCT_STR); -#endif // CONFIG_EXT_INTRA && CONFIG_INTRA_INTERP -#endif // !CONFIG_EC_ADAPT - if (frame_is_intra_only(cm)) { -#if !CONFIG_EC_ADAPT - av1_copy(cm->kf_y_prob, av1_kf_y_mode_prob); -#endif av1_copy(cm->fc->kf_y_cdf, av1_kf_y_mode_cdf); -#if !CONFIG_EC_ADAPT - int k; - for (k = 0; k < INTRA_MODES; k++) - for (j = 0; j < INTRA_MODES; j++) - for (i = 0; i < INTRA_MODES - 1; ++i) - av1_diff_update_prob(&r, &cm->kf_y_prob[k][j][i], ACCT_STR); -#endif #if CONFIG_INTRABC if (cm->allow_screen_content_tools) { av1_diff_update_prob(&r, &fc->intrabc_prob, ACCT_STR); @@ -5133,9 +4905,6 @@ #endif #if CONFIG_EXT_INTER -#if !CONFIG_EC_ADAPT - read_inter_compound_mode_probs(fc, &r); -#endif #if CONFIG_COMPOUND_SINGLEREF read_inter_singleref_comp_mode_probs(fc, &r); #endif // CONFIG_COMPOUND_SINGLEREF @@ -5150,12 +4919,6 @@ } } #endif -#if !CONFIG_EC_ADAPT - for (i = 0; i < BLOCK_SIZE_GROUPS; i++) { - for (j = 0; j < INTERINTRA_MODES - 1; j++) - av1_diff_update_prob(&r, &fc->interintra_mode_prob[i][j], ACCT_STR); - } -#endif #if CONFIG_WEDGE && !CONFIG_NEW_MULTISYMBOL for (i = 0; i < BLOCK_SIZES; i++) { if (is_interintra_allowed_bsize(i) && is_interintra_wedge_used(i)) { @@ -5165,32 +4928,8 @@ #endif // CONFIG_WEDGE } #endif // CONFIG_INTERINTRA -#if !CONFIG_EC_ADAPT && (CONFIG_COMPOUND_SEGMENT || CONFIG_WEDGE) -#if CONFIG_COMPOUND_SINGLEREF - if (cm->allow_masked_compound) { -#else // !CONFIG_COMPOUND_SINGLEREF - if (cm->reference_mode != SINGLE_REFERENCE && cm->allow_masked_compound) { -#endif // CONFIG_COMPOUND_SINGLEREF - for (i = 0; i < BLOCK_SIZES; i++) { - if (is_any_masked_compound_used(i)) { - for (j = 0; j < COMPOUND_TYPES - 1; j++) { - av1_diff_update_prob(&r, &fc->compound_type_prob[i][j], ACCT_STR); - } - } - } - } -#endif // !CONFIG_EC_ADAPT && (CONFIG_COMPOUND_SEGMENT || CONFIG_WEDGE) #endif // CONFIG_EXT_INTER -#if !CONFIG_EC_ADAPT -#if CONFIG_MOTION_VAR || CONFIG_WARPED_MOTION - for (i = BLOCK_8X8; i < BLOCK_SIZES; ++i) { - for (j = 0; j < MOTION_MODES - 1; ++j) - av1_diff_update_prob(&r, &fc->motion_mode_prob[i][j], ACCT_STR); - } -#endif // CONFIG_MOTION_VAR || CONFIG_WARPED_MOTION -#endif // !CONFIG_EC_ADAPT - #if CONFIG_NCOBMC_ADAPT_WEIGHT && CONFIG_MOTION_VAR for (i = 0; i < ADAPT_OVERLAP_BLOCKS; ++i) { for (j = 0; j < MAX_NCOBMC_MODES - 1; ++j) @@ -5198,9 +4937,6 @@ } #endif -#if !CONFIG_EC_ADAPT - if (cm->interp_filter == SWITCHABLE) read_switchable_interp_probs(fc, &r); -#endif // !CONFIG_EC_ADAPT #if !CONFIG_NEW_MULTISYMBOL for (i = 0; i < INTRA_INTER_CONTEXTS; i++) av1_diff_update_prob(&r, &fc->intra_inter_prob[i], ACCT_STR); @@ -5215,18 +4951,8 @@ av1_diff_update_prob(&r, &fc->comp_inter_mode_prob[i], ACCT_STR); #endif // CONFIG_EXT_INTER && CONFIG_COMPOUND_SINGLEREF -#if !CONFIG_EC_ADAPT - for (j = 0; j < BLOCK_SIZE_GROUPS; j++) { - for (i = 0; i < INTRA_MODES - 1; ++i) - av1_diff_update_prob(&r, &fc->y_mode_prob[j][i], ACCT_STR); - } -#endif - for (i = 0; i < NMV_CONTEXTS; ++i) read_mv_probs(&fc->nmvc[i], cm->allow_high_precision_mv, &r); -#if !CONFIG_EC_ADAPT - read_ext_tx_probs(fc, &r); -#endif // EC_ADAPT #if CONFIG_SUPERTX if (!xd->lossless[0]) read_supertx_probs(fc, &r); #endif @@ -5234,13 +4960,6 @@ read_global_motion(cm, &r); #endif } -#if !CONFIG_EC_ADAPT - av1_coef_head_cdfs(fc); - /* Make tail distribution from head */ - av1_coef_pareto_cdfs(fc); - for (i = 0; i < NMV_CONTEXTS; ++i) av1_set_mv_cdfs(&fc->nmvc[i]); - av1_set_mode_cdfs(cm); -#endif // !CONFIG_EC_ADAPT return aom_reader_has_error(&r); } @@ -5254,7 +4973,7 @@ av1_zero(zero_counts); assert(cm->refresh_frame_context != REFRESH_FRAME_CONTEXT_BACKWARD || cm->error_resilient_mode); -#if !CONFIG_EC_ADAPT || CONFIG_ENTROPY_STATS +#if CONFIG_ENTROPY_STATS assert(!memcmp(cm->counts.y_mode, zero_counts.y_mode, sizeof(cm->counts.y_mode))); assert(!memcmp(cm->counts.uv_mode, zero_counts.uv_mode, @@ -5368,14 +5087,12 @@ return (BITSTREAM_PROFILE)profile; } -#if CONFIG_EC_ADAPT static void make_update_tile_list_dec(AV1Decoder *pbi, int tile_rows, int tile_cols, FRAME_CONTEXT *ec_ctxs[]) { int i; for (i = 0; i < tile_rows * tile_cols; ++i) ec_ctxs[i] = &pbi->tile_data[i].tctx; } -#endif #if CONFIG_FRAME_SUPERRES void superres_post_decode(AV1Decoder *pbi) { @@ -5588,17 +5305,14 @@ if (!xd->corrupted) { if (cm->refresh_frame_context == REFRESH_FRAME_CONTEXT_BACKWARD) { -#if CONFIG_EC_ADAPT FRAME_CONTEXT **tile_ctxs = aom_malloc(cm->tile_rows * cm->tile_cols * sizeof(&pbi->tile_data[0].tctx)); aom_cdf_prob **cdf_ptrs = aom_malloc(cm->tile_rows * cm->tile_cols * sizeof(&pbi->tile_data[0].tctx.partition_cdf[0][0])); make_update_tile_list_dec(pbi, cm->tile_rows, cm->tile_cols, tile_ctxs); -#endif av1_adapt_coef_probs(cm); av1_adapt_intra_frame_probs(cm); -#if CONFIG_EC_ADAPT av1_average_tile_coef_cdfs(pbi->common.fc, tile_ctxs, cdf_ptrs, cm->tile_rows * cm->tile_cols); av1_average_tile_intra_cdfs(pbi->common.fc, tile_ctxs, cdf_ptrs, @@ -5607,7 +5321,6 @@ av1_average_tile_pvq_cdfs(pbi->common.fc, tile_ctxs, cm->tile_rows * cm->tile_cols); #endif // CONFIG_PVQ -#endif // CONFIG_EC_ADAPT #if CONFIG_ADAPT_SCAN av1_adapt_scan_order(cm); #endif // CONFIG_ADAPT_SCAN @@ -5615,17 +5328,13 @@ if (!frame_is_intra_only(cm)) { av1_adapt_inter_frame_probs(cm); av1_adapt_mv_probs(cm, cm->allow_high_precision_mv); -#if CONFIG_EC_ADAPT av1_average_tile_inter_cdfs(&pbi->common, pbi->common.fc, tile_ctxs, cdf_ptrs, cm->tile_rows * cm->tile_cols); av1_average_tile_mv_cdfs(pbi->common.fc, tile_ctxs, cdf_ptrs, cm->tile_rows * cm->tile_cols); -#endif } -#if CONFIG_EC_ADAPT aom_free(tile_ctxs); aom_free(cdf_ptrs); -#endif } else { debug_check_frame_counts(cm); }
diff --git a/av1/decoder/decodemv.c b/av1/decoder/decodemv.c index ddeb0e5..fd8d10c 100644 --- a/av1/decoder/decodemv.c +++ b/av1/decoder/decodemv.c
@@ -64,12 +64,8 @@ const int read_delta_q_flag = (b_col == 0 && b_row == 0); int rem_bits, thr; int i, smallval; -#if CONFIG_EC_ADAPT FRAME_CONTEXT *ec_ctx = xd->tile_ctx; (void)cm; -#else - FRAME_CONTEXT *ec_ctx = cm->fc; -#endif if ((bsize != BLOCK_LARGEST || mbmi->skip == 0) && read_delta_q_flag) { abs = aom_read_symbol(r, ec_ctx->delta_q_cdf, DELTA_Q_PROBS + 1, ACCT_STR); @@ -107,12 +103,8 @@ const int read_delta_lf_flag = (b_col == 0 && b_row == 0); int rem_bits, thr; int i, smallval; -#if CONFIG_EC_ADAPT FRAME_CONTEXT *ec_ctx = xd->tile_ctx; (void)cm; -#else - FRAME_CONTEXT *ec_ctx = cm->fc; -#endif if ((bsize != BLOCK_64X64 || mbmi->skip == 0) && read_delta_lf_flag) { abs = @@ -145,13 +137,13 @@ aom_reader *r, int size_group) { const PREDICTION_MODE y_mode = read_intra_mode(r, ec_ctx->y_mode_cdf[size_group]); -#if !CONFIG_EC_ADAPT || CONFIG_ENTROPY_STATS +#if CONFIG_ENTROPY_STATS FRAME_COUNTS *counts = xd->counts; if (counts) ++counts->y_mode[size_group][y_mode]; #else /* TODO(negge): Can we remove this parameter? */ (void)xd; -#endif // !CONFIG_EC_ADAPT || CONFIG_ENTROPY_STATS +#endif // CONFIG_ENTROPY_STATS return y_mode; } @@ -160,13 +152,13 @@ PREDICTION_MODE y_mode) { const PREDICTION_MODE uv_mode = read_intra_mode(r, ec_ctx->uv_mode_cdf[y_mode]); -#if !CONFIG_EC_ADAPT || CONFIG_ENTROPY_STATS +#if CONFIG_ENTROPY_STATS FRAME_COUNTS *counts = xd->counts; if (counts) ++counts->uv_mode[y_mode][uv_mode]; #else /* TODO(negge): Can we remove this parameter? */ (void)xd; -#endif // !CONFIG_EC_ADAPT || CONFIG_ENTROPY_STATS +#endif // CONFIG_ENTROPY_STATS return uv_mode; } @@ -192,16 +184,10 @@ #if CONFIG_EXT_INTER && CONFIG_INTERINTRA static INTERINTRA_MODE read_interintra_mode(AV1_COMMON *cm, MACROBLOCKD *xd, aom_reader *r, int size_group) { -#if CONFIG_EC_ADAPT (void)cm; const INTERINTRA_MODE ii_mode = (INTERINTRA_MODE)aom_read_symbol( r, xd->tile_ctx->interintra_mode_cdf[size_group], INTERINTRA_MODES, ACCT_STR); -#else - const INTERINTRA_MODE ii_mode = (INTERINTRA_MODE)aom_read_tree( - r, av1_interintra_mode_tree, cm->fc->interintra_mode_prob[size_group], - ACCT_STR); -#endif FRAME_COUNTS *counts = xd->counts; if (counts) ++counts->interintra_mode[size_group][ii_mode]; return ii_mode; @@ -356,15 +342,9 @@ return (MOTION_MODE)(SIMPLE_TRANSLATION + motion_mode); } else { #endif // CONFIG_MOTION_VAR && CONFIG_WARPED_MOTION -#if CONFIG_EC_ADAPT motion_mode = aom_read_symbol(r, xd->tile_ctx->motion_mode_cdf[mbmi->sb_type], MOTION_MODES, ACCT_STR); -#else - motion_mode = - aom_read_tree(r, av1_motion_mode_tree, - cm->fc->motion_mode_prob[mbmi->sb_type], ACCT_STR); -#endif if (counts) ++counts->motion_mode[mbmi->sb_type][motion_mode]; return (MOTION_MODE)(SIMPLE_TRANSLATION + motion_mode); #if CONFIG_MOTION_VAR && CONFIG_WARPED_MOTION @@ -402,16 +382,10 @@ #if CONFIG_EXT_INTER static PREDICTION_MODE read_inter_compound_mode(AV1_COMMON *cm, MACROBLOCKD *xd, aom_reader *r, int16_t ctx) { -#if CONFIG_EC_ADAPT (void)cm; const int mode = aom_read_symbol(r, xd->tile_ctx->inter_compound_mode_cdf[ctx], INTER_COMPOUND_MODES, ACCT_STR); -#else - const int mode = - aom_read_tree(r, av1_inter_compound_mode_tree, - cm->fc->inter_compound_mode_probs[ctx], ACCT_STR); -#endif FRAME_COUNTS *counts = xd->counts; if (counts) ++counts->inter_compound_mode[ctx][mode]; @@ -530,12 +504,8 @@ int tx_size_cat, aom_reader *r) { FRAME_COUNTS *counts = xd->counts; const int ctx = get_tx_size_context(xd); -#if CONFIG_EC_ADAPT FRAME_CONTEXT *ec_ctx = xd->tile_ctx; (void)cm; -#else - FRAME_CONTEXT *ec_ctx = cm->fc; -#endif const int depth = aom_read_symbol(r, ec_ctx->tx_size_cdf[tx_size_cat][ctx], tx_size_cat + 2, ACCT_STR); @@ -624,11 +594,7 @@ aom_reader *r) { struct segmentation *const seg = &cm->seg; FRAME_COUNTS *counts = xd->counts; -#if CONFIG_EC_ADAPT FRAME_CONTEXT *ec_ctx = xd->tile_ctx; -#else - FRAME_CONTEXT *ec_ctx = cm->fc; -#endif struct segmentation_probs *const segp = &ec_ctx->seg; int segment_id; @@ -659,11 +625,7 @@ int mi_row, int mi_col, aom_reader *r) { struct segmentation *const seg = &cm->seg; FRAME_COUNTS *counts = xd->counts; -#if CONFIG_EC_ADAPT FRAME_CONTEXT *ec_ctx = xd->tile_ctx; -#else - FRAME_CONTEXT *ec_ctx = cm->fc; -#endif struct segmentation_probs *const segp = &ec_ctx->seg; MB_MODE_INFO *const mbmi = &xd->mi[0]->mbmi; @@ -957,11 +919,7 @@ MB_MODE_INFO *const mbmi = &xd->mi[0]->mbmi; const BLOCK_SIZE bsize = mbmi->sb_type; #if CONFIG_INTRA_INTERP -#if CONFIG_EC_ADAPT FRAME_CONTEXT *const ec_ctx = xd->tile_ctx; -#else - FRAME_CONTEXT *const ec_ctx = cm->fc; -#endif // CONFIG_EC_ADAPT const int ctx = av1_get_pred_context_intra_interp(xd); int p_angle; #endif // CONFIG_INTRA_INTERP @@ -1013,11 +971,7 @@ const TX_SIZE tx_size = mbmi->tx_size; #endif #endif // !CONFIG_TXK_SEL -#if CONFIG_EC_ADAPT FRAME_CONTEXT *ec_ctx = xd->tile_ctx; -#else - FRAME_CONTEXT *ec_ctx = cm->fc; -#endif #if !CONFIG_TXK_SEL TX_TYPE *tx_type = &mbmi->tx_type; @@ -1101,12 +1055,8 @@ static INLINE int assign_dv(AV1_COMMON *cm, MACROBLOCKD *xd, int_mv *mv, const int_mv *ref_mv, int mi_row, int mi_col, BLOCK_SIZE bsize, aom_reader *r) { -#if CONFIG_EC_ADAPT FRAME_CONTEXT *ec_ctx = xd->tile_ctx; (void)cm; -#else - FRAME_CONTEXT *ec_ctx = cm->fc; -#endif FRAME_COUNTS *counts = xd->counts; nmv_context_counts *const dv_counts = counts ? &counts->dv : NULL; read_mv(r, &mv->as_mv, &ref_mv->as_mv, &ec_ctx->ndvc, dv_counts, @@ -1133,11 +1083,7 @@ // TODO(slavarnway): move x_mis, y_mis into xd ????? const int x_mis = AOMMIN(cm->mi_cols - mi_col, bw); const int y_mis = AOMMIN(cm->mi_rows - mi_row, bh); -#if CONFIG_EC_ADAPT FRAME_CONTEXT *ec_ctx = xd->tile_ctx; -#else - FRAME_CONTEXT *ec_ctx = cm->fc; -#endif mbmi->segment_id = read_intra_segment_id(cm, xd, mi_offset, x_mis, y_mis, r); mbmi->skip = read_skip(cm, xd, mbmi->segment_id, r); @@ -1646,11 +1592,7 @@ MB_MODE_INFO *const mbmi, aom_reader *r) { FRAME_COUNTS *counts = xd->counts; -#if CONFIG_EC_ADAPT FRAME_CONTEXT *ec_ctx = xd->tile_ctx; -#else - FRAME_CONTEXT *ec_ctx = cm->fc; -#endif if (!av1_is_interp_needed(xd)) { set_default_interp_filters(mbmi, cm->interp_filter); @@ -1709,11 +1651,7 @@ mbmi->ref_frame[0] = INTRA_FRAME; mbmi->ref_frame[1] = NONE_FRAME; -#if CONFIG_EC_ADAPT FRAME_CONTEXT *ec_ctx = xd->tile_ctx; -#else - FRAME_CONTEXT *ec_ctx = cm->fc; -#endif #if CONFIG_CB4X4 (void)i; @@ -1755,13 +1693,8 @@ #if CONFIG_CFL // TODO(ltrudeau) support PALETTE if (mbmi->uv_mode == DC_PRED) { - mbmi->cfl_alpha_idx = read_cfl_alphas( -#if CONFIG_EC_ADAPT - xd->tile_ctx, -#else - cm->fc, -#endif // CONFIG_EC_ADAPT - r, mbmi->cfl_alpha_signs); + mbmi->cfl_alpha_idx = + read_cfl_alphas(xd->tile_ctx, r, mbmi->cfl_alpha_signs); } #endif // CONFIG_CFL @@ -1800,11 +1733,7 @@ aom_reader *r) { int i; int ret = 1; -#if CONFIG_EC_ADAPT FRAME_CONTEXT *ec_ctx = xd->tile_ctx; -#else - FRAME_CONTEXT *ec_ctx = cm->fc; -#endif BLOCK_SIZE bsize = xd->mi[0]->mbmi.sb_type; MB_MODE_INFO *mbmi = &xd->mi[0]->mbmi; #if CONFIG_CB4X4 @@ -2068,11 +1997,7 @@ } else { const int ctx = av1_get_intra_inter_context(xd); #if CONFIG_NEW_MULTISYMBOL -#if CONFIG_EC_ADAPT FRAME_CONTEXT *ec_ctx = xd->tile_ctx; -#else - FRAME_CONTEXT *ec_ctx = cm->fc; -#endif const int is_inter = aom_read_symbol(r, ec_ctx->intra_inter_cdf[ctx], 2, ACCT_STR); #else @@ -2198,11 +2123,7 @@ #if CONFIG_WARPED_MOTION int pts[SAMPLES_ARRAY_SIZE], pts_inref[SAMPLES_ARRAY_SIZE]; #endif // CONFIG_WARPED_MOTION -#if CONFIG_EC_ADAPT FRAME_CONTEXT *ec_ctx = xd->tile_ctx; -#else - FRAME_CONTEXT *ec_ctx = cm->fc; -#endif assert(NELEMENTS(mode_2_counter) == MB_MODE_COUNT); @@ -2708,14 +2629,8 @@ if (is_any_masked_compound_used(bsize)) { #if CONFIG_COMPOUND_SEGMENT || CONFIG_WEDGE if (cm->allow_masked_compound) { -#if CONFIG_EC_ADAPT mbmi->interinter_compound_type = aom_read_symbol( r, ec_ctx->compound_type_cdf[bsize], COMPOUND_TYPES, ACCT_STR); -#else - mbmi->interinter_compound_type = - aom_read_tree(r, av1_compound_type_tree, - cm->fc->compound_type_prob[bsize], ACCT_STR); -#endif #if CONFIG_WEDGE if (mbmi->interinter_compound_type == COMPOUND_WEDGE) { mbmi->wedge_index =
diff --git a/av1/decoder/decoder.c b/av1/decoder/decoder.c index 4a68deb..579557c 100644 --- a/av1/decoder/decoder.c +++ b/av1/decoder/decoder.c
@@ -50,10 +50,6 @@ av1_init_wedge_masks(); #endif // CONFIG_EXT_INTER init_done = 1; -#if !CONFIG_EC_ADAPT - av1_indices_from_tree(av1_intra_mode_ind, av1_intra_mode_inv, - av1_intra_mode_tree); -#endif av1_indices_from_tree(av1_switchable_interp_ind, av1_switchable_interp_inv, av1_switchable_interp_tree); #if CONFIG_EXT_TX
diff --git a/av1/decoder/decoder.h b/av1/decoder/decoder.h index 92fdf8f..afa1807 100644 --- a/av1/decoder/decoder.h +++ b/av1/decoder/decoder.h
@@ -53,9 +53,7 @@ #if CONFIG_CFL CFL_CTX cfl; #endif -#if CONFIG_EC_ADAPT DECLARE_ALIGNED(16, FRAME_CONTEXT, tctx); -#endif #if CONFIG_PALETTE DECLARE_ALIGNED(16, uint8_t, color_index_map[2][MAX_SB_SQUARE]); #endif // CONFIG_PALETTE @@ -75,9 +73,7 @@ #if CONFIG_CFL CFL_CTX cfl; #endif -#if CONFIG_EC_ADAPT FRAME_CONTEXT tctx; -#endif #if CONFIG_PALETTE DECLARE_ALIGNED(16, uint8_t, color_index_map[2][MAX_SB_SQUARE]); #endif // CONFIG_PALETTE
diff --git a/av1/decoder/detokenize.c b/av1/decoder/detokenize.c index d2d7894..ce0b70c 100644 --- a/av1/decoder/detokenize.c +++ b/av1/decoder/detokenize.c
@@ -110,12 +110,7 @@ #endif // CONFIG_AOM_QM int ctx, const int16_t *scan, const int16_t *nb, int16_t *max_scan_line, aom_reader *r) { - FRAME_COUNTS *counts = xd->counts; -#if CONFIG_EC_ADAPT FRAME_CONTEXT *ec_ctx = xd->tile_ctx; -#else - FRAME_CONTEXT *const ec_ctx = xd->fc; -#endif const int max_eob = tx_size_2d[tx_size]; const int ref = is_inter_block(&xd->mi[0]->mbmi); #if CONFIG_AOM_QM @@ -131,11 +126,6 @@ ec_ctx->coef_tail_cdfs[tx_size_ctx][type][ref]; int val = 0; -#if !CONFIG_EC_ADAPT - unsigned int *blockz_count; - unsigned int(*coef_counts)[COEFF_CONTEXTS][UNCONSTRAINED_NODES + 1] = NULL; - unsigned int(*eob_branch_count)[COEFF_CONTEXTS] = NULL; -#endif uint8_t token_cache[MAX_TX_SQUARE]; const uint8_t *band_translate = get_band_translate(tx_size); int dq_shift; @@ -145,14 +135,6 @@ const tran_low_t *dqv_val = &dq_val[0][0]; #endif // CONFIG_NEW_QUANT - if (counts) { -#if !CONFIG_EC_ADAPT - coef_counts = counts->coef[tx_size_ctx][type][ref]; - eob_branch_count = counts->eob_branch[tx_size_ctx][type][ref]; - blockz_count = counts->blockz_count[tx_size_ctx][type][ref][ctx]; -#endif - } - dq_shift = av1_get_tx_scale(tx_size); band = *band_translate++; @@ -172,9 +154,6 @@ HEAD_TOKENS + first_pos, ACCT_STR) + !first_pos; if (first_pos) { -#if !CONFIG_EC_ADAPT - if (counts) ++blockz_count[comb_token != 0]; -#endif if (comb_token == 0) return 0; } token = comb_token >> 1; @@ -182,11 +161,6 @@ while (!token) { *max_scan_line = AOMMAX(*max_scan_line, scan[c]); token_cache[scan[c]] = 0; -#if !CONFIG_EC_ADAPT - if (counts && !last_pos) { - ++coef_counts[band][ctx][ZERO_TOKEN]; - } -#endif ++c; dqv = dq[1]; ctx = get_coef_context(nb, token_cache, c); @@ -202,13 +176,6 @@ } more_data = comb_token & 1; -#if !CONFIG_EC_ADAPT - if (counts && !last_pos) { - ++coef_counts[band][ctx][token]; - ++eob_branch_count[band][ctx]; - if (!more_data) ++coef_counts[band][ctx][EOB_MODEL_TOKEN]; - } -#endif if (token > ONE_TOKEN) token +=
diff --git a/av1/encoder/bitstream.c b/av1/encoder/bitstream.c index 6e28138..1f20723 100644 --- a/av1/encoder/bitstream.c +++ b/av1/encoder/bitstream.c
@@ -63,19 +63,10 @@ #define ENC_MISMATCH_DEBUG 0 -#if CONFIG_EXT_INTER -#if !CONFIG_EC_ADAPT -static const struct av1_token - inter_compound_mode_encodings[INTER_COMPOUND_MODES] = { - { 2, 2 }, { 12, 4 }, { 52, 6 }, { 53, 6 }, - { 54, 6 }, { 55, 6 }, { 0, 1 }, { 7, 3 } - }; -#endif -#if CONFIG_COMPOUND_SINGLEREF +#if CONFIG_EXT_INTER && CONFIG_COMPOUND_SINGLEREF static struct av1_token inter_singleref_comp_mode_encodings[INTER_SINGLEREF_COMP_MODES]; -#endif // CONFIG_COMPOUND_SINGLEREF -#endif // CONFIG_EXT_INTER +#endif // CONFIG_EXT_INTER && CONFIG_COMPOUND_SINGLEREF #if CONFIG_PALETTE static struct av1_token palette_size_encodings[PALETTE_SIZES]; static struct av1_token palette_color_index_encodings[PALETTE_SIZES] @@ -116,9 +107,6 @@ #endif // CONFIG_COMPOUND_SEGMENT || CONFIG_WEDGE #endif // CONFIG_EXT_INTER #if CONFIG_MOTION_VAR || CONFIG_WARPED_MOTION -#if !CONFIG_EC_ADAPT -static struct av1_token motion_mode_encodings[MOTION_MODES]; -#endif #if CONFIG_NCOBMC_ADAPT_WEIGHT static struct av1_token ncobmc_mode_encodings[MAX_NCOBMC_MODES]; #endif @@ -174,9 +162,6 @@ #endif // CONFIG_COMPOUND_SEGMENT || CONFIG_WEDGE #endif // CONFIG_EXT_INTER #if CONFIG_MOTION_VAR || CONFIG_WARPED_MOTION -#if !CONFIG_EC_ADAPT - av1_tokens_from_tree(motion_mode_encodings, av1_motion_mode_tree); -#endif #if CONFIG_NCOBMC_ADAPT_WEIGHT av1_tokens_from_tree(ncobmc_mode_encodings, av1_ncobmc_mode_tree); #endif @@ -204,10 +189,6 @@ #else av1_indices_from_tree(av1_ext_tx_ind, av1_ext_tx_inv, av1_ext_tx_tree); #endif -#if !CONFIG_EC_ADAPT - av1_indices_from_tree(av1_intra_mode_ind, av1_intra_mode_inv, - av1_intra_mode_tree); -#endif } static void write_intra_mode_kf(const AV1_COMMON *cm, FRAME_CONTEXT *frame_ctx, @@ -320,19 +301,10 @@ aom_writer *w, PREDICTION_MODE mode, const int16_t mode_ctx) { assert(is_inter_compound_mode(mode)); -#if CONFIG_EC_ADAPT (void)cm; aom_write_symbol(w, INTER_COMPOUND_OFFSET(mode), xd->tile_ctx->inter_compound_mode_cdf[mode_ctx], INTER_COMPOUND_MODES); -#else - (void)xd; - const aom_prob *const inter_compound_probs = - cm->fc->inter_compound_mode_probs[mode_ctx]; - - av1_write_token(w, av1_inter_compound_mode_tree, inter_compound_probs, - &inter_compound_mode_encodings[INTER_COMPOUND_OFFSET(mode)]); -#endif } #if CONFIG_COMPOUND_SINGLEREF @@ -355,7 +327,7 @@ aom_wb_write_literal(wb, data, get_unsigned_bits(max)); } -#if !CONFIG_EC_ADAPT || CONFIG_NCOBMC_ADAPT_WEIGHT || CONFIG_COMPOUND_SINGLEREF +#if CONFIG_NCOBMC_ADAPT_WEIGHT || CONFIG_COMPOUND_SINGLEREF static void prob_diff_update(const aom_tree_index *tree, aom_prob probs[/*n - 1*/], const unsigned int counts[/* n */], int n, @@ -372,7 +344,7 @@ } #endif -#if !CONFIG_EC_ADAPT || CONFIG_COMPOUND_SINGLEREF +#if CONFIG_COMPOUND_SINGLEREF static int prob_diff_update_savings(const aom_tree_index *tree, aom_prob probs[/*n - 1*/], const unsigned int counts[/*n - 1*/], int n, @@ -390,7 +362,7 @@ } return savings; } -#endif // !CONFIG_EC_ADAPT || CONFIG_COMPOUND_SINGLEREF +#endif // CONFIG_COMPOUND_SINGLEREF #if CONFIG_VAR_TX static void write_tx_size_vartx(const AV1_COMMON *cm, MACROBLOCKD *xd, @@ -469,12 +441,8 @@ aom_writer *w) { const MB_MODE_INFO *const mbmi = &xd->mi[0]->mbmi; const BLOCK_SIZE bsize = mbmi->sb_type; -#if CONFIG_EC_ADAPT FRAME_CONTEXT *ec_ctx = xd->tile_ctx; (void)cm; -#else - FRAME_CONTEXT *ec_ctx = cm->fc; -#endif // For sub8x8 blocks the tx_size symbol does not need to be sent #if CONFIG_CB4X4 && (CONFIG_VAR_TX || CONFIG_EXT_TX) && CONFIG_RECT_TX if (bsize > BLOCK_4X4) { @@ -526,33 +494,7 @@ } #endif -#if CONFIG_EXT_INTER -#if !CONFIG_EC_ADAPT -static void update_inter_compound_mode_probs(AV1_COMMON *cm, int probwt, - aom_writer *w) { - const int savings_thresh = av1_cost_one(GROUP_DIFF_UPDATE_PROB) - - av1_cost_zero(GROUP_DIFF_UPDATE_PROB); - int i; - int savings = 0; - int do_update = 0; - for (i = 0; i < INTER_MODE_CONTEXTS; ++i) { - savings += prob_diff_update_savings( - av1_inter_compound_mode_tree, cm->fc->inter_compound_mode_probs[i], - cm->counts.inter_compound_mode[i], INTER_COMPOUND_MODES, probwt); - } - do_update = savings > savings_thresh; - aom_write(w, do_update, GROUP_DIFF_UPDATE_PROB); - if (do_update) { - for (i = 0; i < INTER_MODE_CONTEXTS; ++i) { - prob_diff_update( - av1_inter_compound_mode_tree, cm->fc->inter_compound_mode_probs[i], - cm->counts.inter_compound_mode[i], INTER_COMPOUND_MODES, probwt, w); - } - } -} -#endif - -#if CONFIG_COMPOUND_SINGLEREF +#if CONFIG_EXT_INTER && CONFIG_COMPOUND_SINGLEREF static void update_inter_singleref_comp_mode_probs(AV1_COMMON *cm, int probwt, aom_writer *w) { const int savings_thresh = av1_cost_one(GROUP_DIFF_UPDATE_PROB) - @@ -578,8 +520,7 @@ } } } -#endif // CONFIG_COMPOUND_SINGLEREF -#endif // CONFIG_EXT_INTER +#endif // CONFIG_EXT_INTER && CONFIG_COMPOUND_SINGLEREF static int write_skip(const AV1_COMMON *cm, const MACROBLOCKD *xd, int segment_id, const MODE_INFO *mi, aom_writer *w) { @@ -615,9 +556,6 @@ static void write_motion_mode(const AV1_COMMON *cm, MACROBLOCKD *xd, const MODE_INFO *mi, aom_writer *w) { const MB_MODE_INFO *mbmi = &mi->mbmi; -#if !CONFIG_EC_ADAPT - (void)xd; -#endif #if CONFIG_NCOBMC_ADAPT_WEIGHT MOTION_MODE last_motion_mode_allowed = @@ -645,15 +583,9 @@ #endif } else { #endif // CONFIG_MOTION_VAR && CONFIG_WARPED_MOTION -#if CONFIG_EC_ADAPT aom_write_symbol(w, mbmi->motion_mode, xd->tile_ctx->motion_mode_cdf[mbmi->sb_type], MOTION_MODES); -#else - av1_write_token(w, av1_motion_mode_tree, - cm->fc->motion_mode_prob[mbmi->sb_type], - &motion_mode_encodings[mbmi->motion_mode]); -#endif #if CONFIG_MOTION_VAR && CONFIG_WARPED_MOTION } #endif // CONFIG_MOTION_VAR && CONFIG_WARPED_MOTION @@ -690,13 +622,8 @@ int abs = sign ? -delta_qindex : delta_qindex; int rem_bits, thr; int smallval = abs < DELTA_Q_SMALL ? 1 : 0; -#if CONFIG_EC_ADAPT FRAME_CONTEXT *ec_ctx = xd->tile_ctx; (void)cm; -#else - FRAME_CONTEXT *ec_ctx = cm->fc; - (void)xd; -#endif aom_write_symbol(w, AOMMIN(abs, DELTA_Q_SMALL), ec_ctx->delta_q_cdf, DELTA_Q_PROBS + 1); @@ -712,25 +639,6 @@ } } -#if !CONFIG_EC_ADAPT -static void update_delta_q_probs(AV1_COMMON *cm, aom_writer *w, - FRAME_COUNTS *counts) { - int k; -#if CONFIG_TILE_GROUPS - const int probwt = cm->num_tg; -#else - const int probwt = 1; -#endif -#if CONFIG_EXT_DELTA_Q - if (!cm->delta_q_present_flag) return; -#endif // CONFIG_EXT_DELTA_Q - for (k = 0; k < DELTA_Q_PROBS; ++k) { - av1_cond_prob_diff_update(w, &cm->fc->delta_q_prob[k], counts->delta_q[k], - probwt); - } -} -#endif // CONFIG_EC_ADAPT - #if CONFIG_EXT_DELTA_Q static void write_delta_lflevel(const AV1_COMMON *cm, const MACROBLOCKD *xd, int delta_lflevel, aom_writer *w) { @@ -738,13 +646,8 @@ int abs = sign ? -delta_lflevel : delta_lflevel; int rem_bits, thr; int smallval = abs < DELTA_LF_SMALL ? 1 : 0; -#if CONFIG_EC_ADAPT FRAME_CONTEXT *ec_ctx = xd->tile_ctx; (void)cm; -#else - FRAME_CONTEXT *ec_ctx = cm->fc; - (void)xd; -#endif aom_write_symbol(w, AOMMIN(abs, DELTA_LF_SMALL), ec_ctx->delta_lf_cdf, DELTA_LF_PROBS + 1); @@ -759,23 +662,6 @@ aom_write_bit(w, sign); } } - -#if !CONFIG_EC_ADAPT -static void update_delta_lf_probs(AV1_COMMON *cm, aom_writer *w, - FRAME_COUNTS *counts) { - int k; -#if CONFIG_TILE_GROUPS - const int probwt = cm->num_tg; -#else - const int probwt = 1; -#endif - if (!cm->delta_lf_present_flag) return; - for (k = 0; k < DELTA_LF_PROBS; ++k) { - av1_cond_prob_diff_update(w, &cm->fc->delta_lf_prob[k], counts->delta_lf[k], - probwt); - } -} -#endif // CONFIG_EC_ADAPT #endif // CONFIG_EXT_DELTA_Q #endif // CONFIG_DELTA_Q @@ -795,131 +681,6 @@ } #endif -#if !CONFIG_EC_ADAPT -static void update_switchable_interp_probs(AV1_COMMON *cm, aom_writer *w, - FRAME_COUNTS *counts) { - int j; - for (j = 0; j < SWITCHABLE_FILTER_CONTEXTS; ++j) { -#if CONFIG_TILE_GROUPS - const int probwt = cm->num_tg; -#else - const int probwt = 1; -#endif - prob_diff_update( - av1_switchable_interp_tree, cm->fc->switchable_interp_prob[j], - counts->switchable_interp[j], SWITCHABLE_FILTERS, probwt, w); - } -} -#endif - -#if !CONFIG_EC_ADAPT -#if CONFIG_EXT_TX -static void update_ext_tx_probs(AV1_COMMON *cm, aom_writer *w) { - const int savings_thresh = av1_cost_one(GROUP_DIFF_UPDATE_PROB) - - av1_cost_zero(GROUP_DIFF_UPDATE_PROB); - int i, j; - int s; -#if CONFIG_TILE_GROUPS - const int probwt = cm->num_tg; -#else - const int probwt = 1; -#endif - for (s = 1; s < EXT_TX_SETS_INTER; ++s) { - int savings = 0; - int do_update = 0; - for (i = TX_4X4; i < EXT_TX_SIZES; ++i) { - if (!use_inter_ext_tx_for_txsize[s][i]) continue; - savings += prob_diff_update_savings( - av1_ext_tx_inter_tree[s], cm->fc->inter_ext_tx_prob[s][i], - cm->counts.inter_ext_tx[s][i], - num_ext_tx_set[ext_tx_set_type_inter[s]], probwt); - } - do_update = savings > savings_thresh; - aom_write(w, do_update, GROUP_DIFF_UPDATE_PROB); - if (do_update) { - for (i = TX_4X4; i < EXT_TX_SIZES; ++i) { - if (!use_inter_ext_tx_for_txsize[s][i]) continue; - prob_diff_update(av1_ext_tx_inter_tree[s], - cm->fc->inter_ext_tx_prob[s][i], - cm->counts.inter_ext_tx[s][i], - num_ext_tx_set[ext_tx_set_type_inter[s]], probwt, w); - } - } - } - - for (s = 1; s < EXT_TX_SETS_INTRA; ++s) { - int savings = 0; - int do_update = 0; - for (i = TX_4X4; i < EXT_TX_SIZES; ++i) { - if (!use_intra_ext_tx_for_txsize[s][i]) continue; - for (j = 0; j < INTRA_MODES; ++j) - savings += prob_diff_update_savings( - av1_ext_tx_intra_tree[s], cm->fc->intra_ext_tx_prob[s][i][j], - cm->counts.intra_ext_tx[s][i][j], - num_ext_tx_set[ext_tx_set_type_intra[s]], probwt); - } - do_update = savings > savings_thresh; - aom_write(w, do_update, GROUP_DIFF_UPDATE_PROB); - if (do_update) { - for (i = TX_4X4; i < EXT_TX_SIZES; ++i) { - if (!use_intra_ext_tx_for_txsize[s][i]) continue; - for (j = 0; j < INTRA_MODES; ++j) - prob_diff_update(av1_ext_tx_intra_tree[s], - cm->fc->intra_ext_tx_prob[s][i][j], - cm->counts.intra_ext_tx[s][i][j], - num_ext_tx_set[ext_tx_set_type_intra[s]], probwt, w); - } - } - } -} - -#else -static void update_ext_tx_probs(AV1_COMMON *cm, aom_writer *w) { - const int savings_thresh = av1_cost_one(GROUP_DIFF_UPDATE_PROB) - - av1_cost_zero(GROUP_DIFF_UPDATE_PROB); - int i, j; - - int savings = 0; - int do_update = 0; -#if CONFIG_TILE_GROUPS - const int probwt = cm->num_tg; -#else - const int probwt = 1; -#endif - for (i = TX_4X4; i < EXT_TX_SIZES; ++i) { - for (j = 0; j < TX_TYPES; ++j) - savings += prob_diff_update_savings( - av1_ext_tx_tree, cm->fc->intra_ext_tx_prob[i][j], - cm->counts.intra_ext_tx[i][j], TX_TYPES, probwt); - } - do_update = savings > savings_thresh; - aom_write(w, do_update, GROUP_DIFF_UPDATE_PROB); - if (do_update) { - for (i = TX_4X4; i < EXT_TX_SIZES; ++i) { - for (j = 0; j < TX_TYPES; ++j) { - prob_diff_update(av1_ext_tx_tree, cm->fc->intra_ext_tx_prob[i][j], - cm->counts.intra_ext_tx[i][j], TX_TYPES, probwt, w); - } - } - } - - savings = 0; - for (i = TX_4X4; i < EXT_TX_SIZES; ++i) { - savings += - prob_diff_update_savings(av1_ext_tx_tree, cm->fc->inter_ext_tx_prob[i], - cm->counts.inter_ext_tx[i], TX_TYPES, probwt); - } - do_update = savings > savings_thresh; - aom_write(w, do_update, GROUP_DIFF_UPDATE_PROB); - if (do_update) { - for (i = TX_4X4; i < EXT_TX_SIZES; ++i) { - prob_diff_update(av1_ext_tx_tree, cm->fc->inter_ext_tx_prob[i], - cm->counts.inter_ext_tx[i], TX_TYPES, probwt, w); - } - } -} -#endif // CONFIG_EXT_TX -#endif // !CONFIG_EC_ADAPT #if CONFIG_PALETTE static void pack_palette_tokens(aom_writer *w, const TOKENEXTRA **tp, int n, int num) { @@ -1551,11 +1312,7 @@ aom_writer *w) { AV1_COMMON *const cm = &cpi->common; const MB_MODE_INFO *const mbmi = &xd->mi[0]->mbmi; -#if CONFIG_EC_ADAPT FRAME_CONTEXT *ec_ctx = xd->tile_ctx; -#else - FRAME_CONTEXT *ec_ctx = cm->fc; -#endif if (!av1_is_interp_needed(xd)) { #if CONFIG_DUAL_FILTER @@ -1815,11 +1572,7 @@ const TX_SIZE tx_size = mbmi->tx_size; #endif // CONFIG_VAR_TX #endif // !CONFIG_TXK_SEL -#if CONFIG_EC_ADAPT FRAME_CONTEXT *ec_ctx = xd->tile_ctx; -#else - FRAME_CONTEXT *ec_ctx = cm->fc; -#endif #if !CONFIG_TXK_SEL TX_TYPE tx_type = mbmi->tx_type; @@ -1927,18 +1680,9 @@ #endif aom_writer *w) { AV1_COMMON *const cm = &cpi->common; -#if CONFIG_DELTA_Q || CONFIG_EC_ADAPT MACROBLOCK *const x = &cpi->td.mb; MACROBLOCKD *const xd = &x->e_mbd; -#else - const MACROBLOCK *x = &cpi->td.mb; - const MACROBLOCKD *xd = &x->e_mbd; -#endif -#if CONFIG_EC_ADAPT FRAME_CONTEXT *ec_ctx = xd->tile_ctx; -#else - FRAME_CONTEXT *ec_ctx = cm->fc; -#endif const MODE_INFO *mi = xd->mi[0]; const struct segmentation *const seg = &cm->seg; @@ -2281,15 +2025,9 @@ aom_write(w, interintra, cm->fc->interintra_prob[bsize_group]); #endif if (interintra) { -#if CONFIG_EC_ADAPT aom_write_symbol(w, mbmi->interintra_mode, ec_ctx->interintra_mode_cdf[bsize_group], INTERINTRA_MODES); -#else - av1_write_token(w, av1_interintra_mode_tree, - cm->fc->interintra_mode_prob[bsize_group], - &interintra_mode_encodings[mbmi->interintra_mode]); -#endif if (is_interintra_wedge_used(bsize)) { #if CONFIG_NEW_MULTISYMBOL aom_write_symbol(w, mbmi->use_wedge_interintra, @@ -2335,14 +2073,8 @@ is_any_masked_compound_used(bsize)) { #if CONFIG_COMPOUND_SEGMENT || CONFIG_WEDGE if (cm->allow_masked_compound) { -#if CONFIG_EC_ADAPT aom_write_symbol(w, mbmi->interinter_compound_type, ec_ctx->compound_type_cdf[bsize], COMPOUND_TYPES); -#else - av1_write_token( - w, av1_compound_type_tree, cm->fc->compound_type_prob[bsize], - &compound_type_encodings[mbmi->interinter_compound_type]); -#endif #if CONFIG_WEDGE if (mbmi->interinter_compound_type == COMPOUND_WEDGE) { aom_write_literal(w, mbmi->wedge_index, get_wedge_bits_lookup(bsize)); @@ -2384,11 +2116,7 @@ #endif // CONFIG_INTRABC const int mi_row, const int mi_col, aom_writer *w) { -#if CONFIG_EC_ADAPT FRAME_CONTEXT *ec_ctx = xd->tile_ctx; -#else - FRAME_CONTEXT *ec_ctx = cm->fc; -#endif const struct segmentation *const seg = &cm->seg; struct segmentation_probs *const segp = &ec_ctx->seg; const MODE_INFO *const mi = xd->mi[0]; @@ -2618,11 +2346,7 @@ } } -#if CONFIG_DELTA_Q || CONFIG_EC_ADAPT MACROBLOCK *const x = &cpi->td.mb; -#else - const MACROBLOCK *x = &cpi->td.mb; -#endif const MB_MODE_INFO_EXT *const mbmi_ext = x->mbmi_ext; const int16_t mode_ctx = av1_mode_context_analyzer( mbmi_ext->mode_context, mbmi->ref_frame, bsize, -1); @@ -3082,12 +2806,8 @@ const aom_prob *const probs = cm->fc->partition_prob[ctx]; #endif -#if CONFIG_EC_ADAPT FRAME_CONTEXT *ec_ctx = xd->tile_ctx; (void)cm; -#else - FRAME_CONTEXT *ec_ctx = cm->fc; -#endif if (!is_partition_point) return; @@ -3260,11 +2980,7 @@ skip = write_skip(cm, xd, mbmi->segment_id_supertx, xd->mi[0], w); -#if CONFIG_EC_ADAPT FRAME_CONTEXT *ec_ctx = xd->tile_ctx; -#else - FRAME_CONTEXT *ec_ctx = cm->fc; -#endif #if CONFIG_EXT_TX if (get_ext_tx_types(supertx_size, bsize, 1, cm->reduced_tx_set_used) > 1 && @@ -3395,214 +3111,6 @@ #endif } -#if !CONFIG_LV_MAP -#if !CONFIG_PVQ && !CONFIG_EC_ADAPT -static void build_tree_distribution(AV1_COMP *cpi, TX_SIZE tx_size, - av1_coeff_stats *coef_branch_ct, - av1_coeff_probs_model *coef_probs) { - av1_coeff_count *coef_counts = cpi->td.rd_counts.coef_counts[tx_size]; - unsigned int(*eob_branch_ct)[REF_TYPES][COEF_BANDS][COEFF_CONTEXTS] = - cpi->common.counts.eob_branch[tx_size]; - int i, j, k, l, m; -#if CONFIG_RECT_TX - assert(!is_rect_tx(tx_size)); -#endif // CONFIG_RECT_TX - - for (i = 0; i < PLANE_TYPES; ++i) { - for (j = 0; j < REF_TYPES; ++j) { - for (k = 0; k < COEF_BANDS; ++k) { - for (l = 0; l < BAND_COEFF_CONTEXTS(k); ++l) { - av1_tree_probs_from_distribution(av1_coef_tree, - coef_branch_ct[i][j][k][l], - coef_counts[i][j][k][l]); - coef_branch_ct[i][j][k][l][0][1] = - eob_branch_ct[i][j][k][l] - coef_branch_ct[i][j][k][l][0][0]; - for (m = 0; m < UNCONSTRAINED_NODES; ++m) - coef_probs[i][j][k][l][m] = - get_binary_prob(coef_branch_ct[i][j][k][l][m][0], - coef_branch_ct[i][j][k][l][m][1]); - } - } - } - } -} - -#if !CONFIG_EC_ADAPT -static void update_coef_probs_common(aom_writer *const bc, AV1_COMP *cpi, - TX_SIZE tx_size, - av1_coeff_stats *frame_branch_ct, - av1_coeff_probs_model *new_coef_probs) { - av1_coeff_probs_model *old_coef_probs = cpi->common.fc->coef_probs[tx_size]; - const aom_prob upd = DIFF_UPDATE_PROB; -#if CONFIG_EC_ADAPT - const int entropy_nodes_update = UNCONSTRAINED_NODES - 1; -#else - const int entropy_nodes_update = UNCONSTRAINED_NODES; -#endif - int i, j, k, l, t; - int stepsize = cpi->sf.coeff_prob_appx_step; -#if CONFIG_TILE_GROUPS - const int probwt = cpi->common.num_tg; -#else - const int probwt = 1; -#endif -#if CONFIG_RECT_TX - assert(!is_rect_tx(tx_size)); -#endif // CONFIG_RECT_TX - - switch (cpi->sf.use_fast_coef_updates) { - case TWO_LOOP: { - /* dry run to see if there is any update at all needed */ - int savings = 0; - int update[2] = { 0, 0 }; - for (i = 0; i < PLANE_TYPES; ++i) { - for (j = 0; j < REF_TYPES; ++j) { - for (k = 0; k < COEF_BANDS; ++k) { - for (l = 0; l < BAND_COEFF_CONTEXTS(k); ++l) { - for (t = 0; t < entropy_nodes_update; ++t) { - aom_prob newp = new_coef_probs[i][j][k][l][t]; - const aom_prob oldp = old_coef_probs[i][j][k][l][t]; - int s; - int u = 0; - if (t == PIVOT_NODE) - s = av1_prob_diff_update_savings_search_model( - frame_branch_ct[i][j][k][l][0], oldp, &newp, upd, - stepsize, probwt); - else - s = av1_prob_diff_update_savings_search( - frame_branch_ct[i][j][k][l][t], oldp, &newp, upd, probwt); - - if (s > 0 && newp != oldp) u = 1; - if (u) - savings += s - (int)(av1_cost_zero(upd)); - else - savings -= (int)(av1_cost_zero(upd)); - update[u]++; - } - } - } - } - } - - /* Is coef updated at all */ - if (update[1] == 0 || savings < 0) { - aom_write_bit(bc, 0); - return; - } - aom_write_bit(bc, 1); - for (i = 0; i < PLANE_TYPES; ++i) { - for (j = 0; j < REF_TYPES; ++j) { - for (k = 0; k < COEF_BANDS; ++k) { - for (l = 0; l < BAND_COEFF_CONTEXTS(k); ++l) { - // calc probs and branch cts for this frame only - for (t = 0; t < entropy_nodes_update; ++t) { - aom_prob newp = new_coef_probs[i][j][k][l][t]; - aom_prob *oldp = old_coef_probs[i][j][k][l] + t; - int s; - int u = 0; - if (t == PIVOT_NODE) - s = av1_prob_diff_update_savings_search_model( - frame_branch_ct[i][j][k][l][0], *oldp, &newp, upd, - stepsize, probwt); - else - s = av1_prob_diff_update_savings_search( - frame_branch_ct[i][j][k][l][t], *oldp, &newp, upd, - probwt); - if (s > 0 && newp != *oldp) u = 1; - aom_write(bc, u, upd); - if (u) { - /* send/use new probability */ - av1_write_prob_diff_update(bc, newp, *oldp); - *oldp = newp; - } - } - } - } - } - } - return; - } - - case ONE_LOOP_REDUCED: { - int updates = 0; - int noupdates_before_first = 0; - for (i = 0; i < PLANE_TYPES; ++i) { - for (j = 0; j < REF_TYPES; ++j) { - for (k = 0; k < COEF_BANDS; ++k) { - for (l = 0; l < BAND_COEFF_CONTEXTS(k); ++l) { - // calc probs and branch cts for this frame only - for (t = 0; t < entropy_nodes_update; ++t) { - aom_prob newp = new_coef_probs[i][j][k][l][t]; - aom_prob *oldp = old_coef_probs[i][j][k][l] + t; - int s; - int u = 0; - if (t == PIVOT_NODE) { - s = av1_prob_diff_update_savings_search_model( - frame_branch_ct[i][j][k][l][0], *oldp, &newp, upd, - stepsize, probwt); - } else { - s = av1_prob_diff_update_savings_search( - frame_branch_ct[i][j][k][l][t], *oldp, &newp, upd, - probwt); - } - - if (s > 0 && newp != *oldp) u = 1; - updates += u; - if (u == 0 && updates == 0) { - noupdates_before_first++; - continue; - } - if (u == 1 && updates == 1) { - int v; - // first update - aom_write_bit(bc, 1); - for (v = 0; v < noupdates_before_first; ++v) - aom_write(bc, 0, upd); - } - aom_write(bc, u, upd); - if (u) { - /* send/use new probability */ - av1_write_prob_diff_update(bc, newp, *oldp); - *oldp = newp; - } - } - } - } - } - } - if (updates == 0) { - aom_write_bit(bc, 0); // no updates - } - return; - } - default: assert(0); - } -} -#endif - -#if !CONFIG_EC_ADAPT -static void update_coef_probs(AV1_COMP *cpi, aom_writer *w) { - const TX_MODE tx_mode = cpi->common.tx_mode; - const TX_SIZE max_tx_size = tx_mode_to_biggest_tx_size[tx_mode]; - TX_SIZE tx_size; - - for (tx_size = 0; tx_size <= max_tx_size; ++tx_size) { - av1_coeff_stats frame_branch_ct[PLANE_TYPES]; - av1_coeff_probs_model frame_coef_probs[PLANE_TYPES]; - if (cpi->td.counts->tx_size_totals[tx_size] <= 20 || CONFIG_RD_DEBUG || - (tx_size >= TX_16X16 && cpi->sf.tx_size_search_method == USE_TX_8X8)) { - aom_write_bit(w, 0); - } else { - build_tree_distribution(cpi, tx_size, frame_branch_ct, frame_coef_probs); - update_coef_probs_common(w, cpi, tx_size, frame_branch_ct, - frame_coef_probs); - } - } -} -#endif // !CONFIG_EC_ADAPT -#endif // !CONFIG_EC_ADAPT -#endif // !CONFIG_LV_MAP - #if CONFIG_LOOP_RESTORATION static void encode_restoration_mode(AV1_COMMON *cm, struct aom_write_bit_buffer *wb) { @@ -3928,33 +3436,6 @@ } } -#if !CONFIG_EC_ADAPT -static void update_seg_probs(AV1_COMP *cpi, aom_writer *w) { - AV1_COMMON *cm = &cpi->common; -#if CONFIG_TILE_GROUPS - const int probwt = cm->num_tg; -#else - const int probwt = 1; -#endif - - if (!cm->seg.enabled || !cm->seg.update_map) return; - - if (cm->seg.temporal_update) { - int i; - - for (i = 0; i < PREDICTION_PROBS; i++) - av1_cond_prob_diff_update(w, &cm->fc->seg.pred_probs[i], - cm->counts.seg.pred[i], probwt); - - prob_diff_update(av1_segment_tree, cm->fc->seg.tree_probs, - cm->counts.seg.tree_mispred, MAX_SEGMENTS, probwt, w); - } else { - prob_diff_update(av1_segment_tree, cm->fc->seg.tree_probs, - cm->counts.seg.tree_total, MAX_SEGMENTS, probwt, w); - } -} -#endif - static void write_tx_mode(AV1_COMMON *cm, TX_MODE *mode, struct aom_write_bit_buffer *wb) { if (cm->all_lossless) { @@ -3979,24 +3460,6 @@ #endif // CONFIG_VAR_TX_NO_TX_MODE } -#if !CONFIG_EC_ADAPT -static void update_txfm_probs(AV1_COMMON *cm, aom_writer *w, - FRAME_COUNTS *counts) { -#if CONFIG_TILE_GROUPS - const int probwt = cm->num_tg; -#else - const int probwt = 1; -#endif - if (cm->tx_mode == TX_MODE_SELECT) { - int i, j; - for (i = 0; i < MAX_TX_DEPTH; ++i) - for (j = 0; j < TX_SIZE_CONTEXTS; ++j) - prob_diff_update(av1_tx_size_tree[i], cm->fc->tx_size_probs[i][j], - counts->tx_size[i][j], i + 2, probwt, w); - } -} -#endif - static void write_frame_interp_filter(InterpFilter filter, struct aom_write_bit_buffer *wb) { aom_wb_write_bit(wb, filter == SWITCHABLE); @@ -4265,10 +3728,8 @@ const TOKENEXTRA *tok = tok_buffers[tile_row][tile_col]; const TOKENEXTRA *tok_end = tok + cpi->tok_count[tile_row][tile_col]; const int data_offset = have_tiles ? 4 : 0; -#if CONFIG_EC_ADAPT const int tile_idx = tile_row * tile_cols + tile_col; TileDataEnc *this_tile = &cpi->tile_data[tile_idx]; -#endif av1_tile_set_row(&tile_info, cm, tile_row); buf->data = dst + total_size; @@ -4276,11 +3737,9 @@ // Is CONFIG_EXT_TILE = 1, every tile in the row has a header, // even for the last one, unless no tiling is used at all. total_size += data_offset; -#if CONFIG_EC_ADAPT // Initialise tile context from the frame context this_tile->tctx = *cm->fc; cpi->td.mb.e_mbd.tile_ctx = &this_tile->tctx; -#endif #if CONFIG_PVQ cpi->td.mb.pvq_q = &this_tile->pvq_q; cpi->td.mb.daala_enc.state.adapt = &this_tile->tctx.pvq_context; @@ -4383,9 +3842,7 @@ for (tile_col = 0; tile_col < tile_cols; tile_col++) { const int tile_idx = tile_row * tile_cols + tile_col; TileBufferEnc *const buf = &tile_buffers[tile_row][tile_col]; -#if CONFIG_PVQ || CONFIG_EC_ADAPT TileDataEnc *this_tile = &cpi->tile_data[tile_idx]; -#endif const TOKENEXTRA *tok = tok_buffers[tile_row][tile_col]; const TOKENEXTRA *tok_end = tok + cpi->tok_count[tile_row][tile_col]; const int is_last_col = (tile_col == tile_cols - 1); @@ -4455,11 +3912,9 @@ // The last tile does not have a header. if (!is_last_tile) total_size += 4; -#if CONFIG_EC_ADAPT // Initialise tile context from the frame context this_tile->tctx = *cm->fc; cpi->td.mb.e_mbd.tile_ctx = &this_tile->tctx; -#endif #if CONFIG_PVQ cpi->td.mb.pvq_q = &this_tile->pvq_q; cpi->td.mb.daala_enc.state.adapt = &this_tile->tctx.pvq_context; @@ -5046,11 +4501,9 @@ #else const int probwt = 1; #endif -#if CONFIG_EC_ADAPT (void)probwt; (void)i; (void)fc; -#endif #if CONFIG_ANS int header_size; @@ -5065,9 +4518,6 @@ #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_EXT_TX && CONFIG_RECT_TX && CONFIG_RECT_TX_EXT if (cm->tx_mode == TX_MODE_SELECT) av1_cond_prob_diff_update(header_bc, &cm->fc->quarter_tx_size_prob, @@ -5075,12 +4525,6 @@ #endif // CONFIG_EXT_TX && CONFIG_RECT_TX && CONFIG_RECT_TX_EXT #if CONFIG_LV_MAP av1_write_txb_probs(cpi, header_bc); -#else -#if !CONFIG_PVQ -#if !CONFIG_EC_ADAPT - update_coef_probs(cpi, header_bc); -#endif // !CONFIG_EC_ADAPT -#endif // CONFIG_PVQ #endif // CONFIG_LV_MAP #if CONFIG_VAR_TX && !CONFIG_NEW_MULTISYMBOL @@ -5090,75 +4534,10 @@ #if !CONFIG_NEW_MULTISYMBOL update_skip_probs(cm, header_bc, counts); #endif -#if !CONFIG_EC_ADAPT && CONFIG_DELTA_Q - update_delta_q_probs(cm, header_bc, counts); -#if CONFIG_EXT_DELTA_Q - update_delta_lf_probs(cm, header_bc, counts); -#endif -#endif -#if !CONFIG_EC_ADAPT - update_seg_probs(cpi, header_bc); - - for (i = 0; i < INTRA_MODES; ++i) { - prob_diff_update(av1_intra_mode_tree, fc->uv_mode_prob[i], - counts->uv_mode[i], INTRA_MODES, probwt, header_bc); - } - -#if CONFIG_EXT_PARTITION_TYPES - for (i = 0; i < PARTITION_PLOFFSET; ++i) - prob_diff_update(av1_partition_tree, fc->partition_prob[i], - counts->partition[i], PARTITION_TYPES, probwt, header_bc); - for (; i < PARTITION_CONTEXTS_PRIMARY; ++i) - prob_diff_update(av1_ext_partition_tree, fc->partition_prob[i], - counts->partition[i], EXT_PARTITION_TYPES, probwt, - header_bc); -#else - for (i = 0; i < PARTITION_CONTEXTS_PRIMARY; ++i) - prob_diff_update(av1_partition_tree, fc->partition_prob[i], - counts->partition[i], PARTITION_TYPES, probwt, header_bc); -#endif // CONFIG_EXT_PARTITION_TYPES -#if CONFIG_UNPOISON_PARTITION_CTX - for (; i < PARTITION_CONTEXTS_PRIMARY + PARTITION_BLOCK_SIZES; ++i) { - unsigned int ct[2] = { counts->partition[i][PARTITION_VERT], - counts->partition[i][PARTITION_SPLIT] }; - assert(counts->partition[i][PARTITION_NONE] == 0); - assert(counts->partition[i][PARTITION_HORZ] == 0); - assert(fc->partition_prob[i][PARTITION_NONE] == 0); - assert(fc->partition_prob[i][PARTITION_HORZ] == 0); - av1_cond_prob_diff_update(header_bc, &fc->partition_prob[i][PARTITION_VERT], - ct, probwt); - } - for (; i < PARTITION_CONTEXTS_PRIMARY + 2 * PARTITION_BLOCK_SIZES; ++i) { - unsigned int ct[2] = { counts->partition[i][PARTITION_HORZ], - counts->partition[i][PARTITION_SPLIT] }; - assert(counts->partition[i][PARTITION_NONE] == 0); - assert(counts->partition[i][PARTITION_VERT] == 0); - assert(fc->partition_prob[i][PARTITION_NONE] == 0); - assert(fc->partition_prob[i][PARTITION_VERT] == 0); - av1_cond_prob_diff_update(header_bc, &fc->partition_prob[i][PARTITION_HORZ], - ct, probwt); - } -#endif -#if CONFIG_EXT_INTRA && CONFIG_INTRA_INTERP - for (i = 0; i < INTRA_FILTERS + 1; ++i) - prob_diff_update(av1_intra_filter_tree, fc->intra_filter_probs[i], - counts->intra_filter[i], INTRA_FILTERS, probwt, header_bc); -#endif // CONFIG_EXT_INTRA && CONFIG_INTRA_INTERP -#endif // !CONFIG_EC_ADAPT if (frame_is_intra_only(cm)) { -#if !CONFIG_EC_ADAPT - av1_copy(cm->kf_y_prob, av1_kf_y_mode_prob); -#endif av1_copy(cm->fc->kf_y_cdf, av1_kf_y_mode_cdf); -#if !CONFIG_EC_ADAPT - for (i = 0; i < INTRA_MODES; ++i) - for (j = 0; j < INTRA_MODES; ++j) - prob_diff_update(av1_intra_mode_tree, cm->kf_y_prob[i][j], - counts->kf_y_mode[i][j], INTRA_MODES, probwt, - header_bc); -#endif // CONFIG_EC_ADAPT #if CONFIG_INTRABC if (cm->allow_screen_content_tools) { av1_cond_prob_diff_update(header_bc, &fc->intrabc_prob, @@ -5170,9 +4549,6 @@ update_inter_mode_probs(cm, header_bc, counts); #endif #if CONFIG_EXT_INTER -#if !CONFIG_EC_ADAPT - update_inter_compound_mode_probs(cm, probwt, header_bc); -#endif #if CONFIG_COMPOUND_SINGLEREF update_inter_singleref_comp_mode_probs(cm, probwt, header_bc); #endif // CONFIG_COMPOUND_SINGLEREF @@ -5188,13 +4564,6 @@ } } #endif -#if !CONFIG_EC_ADAPT - for (i = 0; i < BLOCK_SIZE_GROUPS; i++) { - prob_diff_update( - av1_interintra_mode_tree, cm->fc->interintra_mode_prob[i], - counts->interintra_mode[i], INTERINTRA_MODES, probwt, header_bc); - } -#endif #if CONFIG_WEDGE && !CONFIG_NEW_MULTISYMBOL for (i = 0; i < BLOCK_SIZES; i++) { if (is_interintra_allowed_bsize(i) && is_interintra_wedge_used(i)) @@ -5204,29 +4573,9 @@ #endif // CONFIG_WEDGE && CONFIG_NEW_MULTISYMBOL } #endif // CONFIG_INTERINTRA -#if !CONFIG_EC_ADAPT && (CONFIG_COMPOUND_SEGMENT || CONFIG_WEDGE) -#if CONFIG_COMPOUND_SINGLEREF - if (cm->allow_masked_compound) { -#else // !CONFIG_COMPOUND_SINGLEREF - if (cm->reference_mode != SINGLE_REFERENCE && cm->allow_masked_compound) { -#endif // CONFIG_COMPOUND_SINGLEREF - for (i = 0; i < BLOCK_SIZES; i++) { - if (is_any_masked_compound_used(i)) { - prob_diff_update(av1_compound_type_tree, fc->compound_type_prob[i], - cm->counts.compound_interinter[i], COMPOUND_TYPES, - probwt, header_bc); - } - } - } -#endif // !CONFIG_EC_ADAPT && (CONFIG_COMPOUND_SEGMENT || CONFIG_WEDGE) #endif // CONFIG_EXT_INTER #if CONFIG_MOTION_VAR || CONFIG_WARPED_MOTION -#if !CONFIG_EC_ADAPT - for (i = BLOCK_8X8; i < BLOCK_SIZES; ++i) - prob_diff_update(av1_motion_mode_tree, fc->motion_mode_prob[i], - counts->motion_mode[i], MOTION_MODES, probwt, header_bc); -#endif #if CONFIG_NCOBMC_ADAPT_WEIGHT for (i = ADAPT_OVERLAP_BLOCK_8X8; i < ADAPT_OVERLAP_BLOCKS; ++i) { prob_diff_update(av1_ncobmc_mode_tree, fc->ncobmc_mode_prob[i], @@ -5236,11 +4585,6 @@ #endif #endif // CONFIG_MOTION_VAR || CONFIG_WARPED_MOTION -#if !CONFIG_EC_ADAPT - if (cm->interp_filter == SWITCHABLE) - update_switchable_interp_probs(cm, header_bc, counts); -#endif // !CONFIG_EC_ADAPT - #if !CONFIG_NEW_MULTISYMBOL for (i = 0; i < INTRA_INTER_CONTEXTS; i++) av1_cond_prob_diff_update(header_bc, &fc->intra_inter_prob[i], @@ -5304,17 +4648,7 @@ counts->comp_inter_mode[i], probwt); #endif // CONFIG_EXT_INTER && CONFIG_COMPOUND_SINGLEREF -#if !CONFIG_EC_ADAPT - for (i = 0; i < BLOCK_SIZE_GROUPS; ++i) { - prob_diff_update(av1_intra_mode_tree, cm->fc->y_mode_prob[i], - counts->y_mode[i], INTRA_MODES, probwt, header_bc); - } -#endif - av1_write_nmv_probs(cm, cm->allow_high_precision_mv, header_bc, counts->mv); -#if !CONFIG_EC_ADAPT - update_ext_tx_probs(cm, header_bc); -#endif #if CONFIG_SUPERTX if (!xd->lossless[0]) update_supertx_probs(cm, probwt, header_bc); #endif // CONFIG_SUPERTX @@ -5322,12 +4656,6 @@ write_global_motion(cpi, header_bc); #endif // CONFIG_GLOBAL_MOTION } -#if !CONFIG_EC_ADAPT - av1_coef_head_cdfs(fc); - av1_coef_pareto_cdfs(fc); - for (i = 0; i < NMV_CONTEXTS; ++i) av1_set_mv_cdfs(&fc->nmvc[i]); - av1_set_mode_cdfs(cm); -#endif // !CONFIG_EC_ADAPT #if CONFIG_ANS aom_buf_ans_flush(header_bc); header_size = buf_ans_write_end(header_bc);
diff --git a/av1/encoder/encodeframe.c b/av1/encoder/encodeframe.c index 56b1481..5ad34ca 100644 --- a/av1/encoder/encodeframe.c +++ b/av1/encoder/encodeframe.c
@@ -4697,10 +4697,8 @@ #endif #endif // #if CONFIG_PVQ -#if CONFIG_EC_ADAPT this_tile->tctx = *cm->fc; td->mb.e_mbd.tile_ctx = &this_tile->tctx; -#endif // #if CONFIG_EC_ADAPT #if CONFIG_CFL MACROBLOCKD *const xd = &td->mb.e_mbd; @@ -5442,7 +5440,7 @@ const MODE_INFO *left_mi, const int intraonly, const int mi_row, const int mi_col) { const MB_MODE_INFO *const mbmi = &mi->mbmi; -#if !CONFIG_EC_ADAPT || CONFIG_ENTROPY_STATS +#if CONFIG_ENTROPY_STATS const PREDICTION_MODE y_mode = mbmi->mode; const PREDICTION_MODE uv_mode = mbmi->uv_mode; #else @@ -5450,12 +5448,12 @@ (void)above_mi; (void)left_mi; (void)intraonly; -#endif // !CONFIG_EC_ADAPT || CONFIG_ENTROPY_STATS +#endif // CONFIG_ENTROPY_STATS const BLOCK_SIZE bsize = mbmi->sb_type; const int unify_bsize = CONFIG_CB4X4; if (bsize < BLOCK_8X8 && !unify_bsize) { -#if !CONFIG_EC_ADAPT || CONFIG_ENTROPY_STATS +#if CONFIG_ENTROPY_STATS int idx, idy; const int num_4x4_w = num_4x4_blocks_wide_lookup[bsize]; const int num_4x4_h = num_4x4_blocks_high_lookup[bsize]; @@ -5471,9 +5469,9 @@ ++counts->y_mode[0][bmode]; } } -#endif // !CONFIG_EC_ADAPT || CONFIG_ENTROPY_STATS +#endif // CONFIG_ENTROPY_STATS } else { -#if !CONFIG_EC_ADAPT || CONFIG_ENTROPY_STATS +#if CONFIG_ENTROPY_STATS if (intraonly) { const PREDICTION_MODE above = av1_above_block_mode(mi, above_mi, 0); const PREDICTION_MODE left = av1_left_block_mode(mi, left_mi, 0); @@ -5481,7 +5479,7 @@ } else { ++counts->y_mode[size_group_lookup[bsize]][y_mode]; } -#endif // !CONFIG_EC_ADAPT || CONFIG_ENTROPY_STATS +#endif // CONFIG_ENTROPY_STATS #if CONFIG_FILTER_INTRA if (mbmi->mode == DC_PRED #if CONFIG_PALETTE @@ -5527,9 +5525,9 @@ (void)mi_col; (void)xd; #endif -#if !CONFIG_EC_ADAPT || CONFIG_ENTROPY_STATS +#if CONFIG_ENTROPY_STATS ++counts->uv_mode[y_mode][uv_mode]; -#endif // !CONFIG_EC_ADAPT || CONFIG_ENTROPY_STATS +#endif // CONFIG_ENTROPY_STATS } #if CONFIG_VAR_TX
diff --git a/av1/encoder/encodemb.c b/av1/encoder/encodemb.c index ddf8843..24cf898 100644 --- a/av1/encoder/encodemb.c +++ b/av1/encoder/encodemb.c
@@ -112,11 +112,7 @@ // These numbers are empirically obtained. static const int plane_rd_mult[REF_TYPES][PLANE_TYPES] = { -#if CONFIG_EC_ADAPT { 10, 7 }, { 8, 5 }, -#else - { 10, 6 }, { 8, 6 }, -#endif }; static INLINE unsigned int get_token_bit_costs( @@ -1352,11 +1348,7 @@ &pd->dst.buf[(blk_row * dst_stride + blk_col) << tx_size_wide_log2[0]]; #if CONFIG_CFL -#if CONFIG_EC_ADAPT FRAME_CONTEXT *const ec_ctx = xd->tile_ctx; -#else - FRAME_CONTEXT *const ec_ctx = cm->fc; -#endif // CONFIG_EC_ADAPT #if CONFIG_DEBUG const MB_MODE_INFO *const mbmi = &xd->mi[0]->mbmi;
diff --git a/av1/encoder/encodemv.c b/av1/encoder/encodemv.c index 8aed521..a15173c 100644 --- a/av1/encoder/encodemv.c +++ b/av1/encoder/encodemv.c
@@ -150,23 +150,6 @@ #endif } -#if !CONFIG_EC_ADAPT -static void write_mv_update(const aom_tree_index *tree, - aom_prob probs[/*n - 1*/], - const unsigned int counts[/*n - 1*/], int n, - aom_writer *w) { - int i; - unsigned int branch_ct[32][2]; - - // Assuming max number of probabilities <= 32 - assert(n <= 32); - - av1_tree_probs_from_distribution(tree, branch_ct, counts); - for (i = 0; i < n - 1; ++i) - update_mv(w, branch_ct[i], &probs[i], MV_UPDATE_PROB); -} -#endif - void av1_write_nmv_probs(AV1_COMMON *cm, int usehp, aom_writer *w, nmv_context_counts *const nmv_counts) { int i; @@ -174,34 +157,6 @@ for (nmv_ctx = 0; nmv_ctx < NMV_CONTEXTS; ++nmv_ctx) { nmv_context *const mvc = &cm->fc->nmvc[nmv_ctx]; nmv_context_counts *const counts = &nmv_counts[nmv_ctx]; -#if !CONFIG_EC_ADAPT - write_mv_update(av1_mv_joint_tree, mvc->joints, counts->joints, MV_JOINTS, - w); - - for (i = 0; i < 2; ++i) { - int j; - nmv_component *comp = &mvc->comps[i]; - nmv_component_counts *comp_counts = &counts->comps[i]; - - update_mv(w, comp_counts->sign, &comp->sign, MV_UPDATE_PROB); - write_mv_update(av1_mv_class_tree, comp->classes, comp_counts->classes, - MV_CLASSES, w); - write_mv_update(av1_mv_class0_tree, comp->class0, comp_counts->class0, - CLASS0_SIZE, w); - for (j = 0; j < MV_OFFSET_BITS; ++j) - update_mv(w, comp_counts->bits[j], &comp->bits[j], MV_UPDATE_PROB); - } - - for (i = 0; i < 2; ++i) { - int j; - for (j = 0; j < CLASS0_SIZE; ++j) - write_mv_update(av1_mv_fp_tree, mvc->comps[i].class0_fp[j], - counts->comps[i].class0_fp[j], MV_FP_SIZE, w); - - write_mv_update(av1_mv_fp_tree, mvc->comps[i].fp, counts->comps[i].fp, - MV_FP_SIZE, w); - } -#endif if (usehp) { for (i = 0; i < 2; ++i) {
diff --git a/av1/encoder/encoder.c b/av1/encoder/encoder.c index a180eb6..fb50d45 100644 --- a/av1/encoder/encoder.c +++ b/av1/encoder/encoder.c
@@ -4401,8 +4401,6 @@ } #endif // DUMP_RECON_FRAMES -#if CONFIG_EC_ADAPT - static void make_update_tile_list_enc(AV1_COMP *cpi, const int tile_rows, const int tile_cols, FRAME_CONTEXT *ec_ctxs[]) { @@ -4411,7 +4409,6 @@ ec_ctxs[i] = &cpi->tile_data[i].tctx; } -#endif static void encode_frame_to_data_rate(AV1_COMP *cpi, size_t *size, uint8_t *dest, int skip_adapt, unsigned int *frame_flags) { @@ -4419,13 +4416,11 @@ const AV1EncoderConfig *const oxcf = &cpi->oxcf; struct segmentation *const seg = &cm->seg; TX_SIZE t; -#if CONFIG_EC_ADAPT FRAME_CONTEXT **tile_ctxs = aom_malloc(cm->tile_rows * cm->tile_cols * sizeof(&cpi->tile_data[0].tctx)); aom_cdf_prob **cdf_ptrs = aom_malloc(cm->tile_rows * cm->tile_cols * sizeof(&cpi->tile_data[0].tctx.partition_cdf[0][0])); -#endif #if CONFIG_XIPHRC int frame_type; int drop_this_frame = 0; @@ -4511,10 +4506,8 @@ ++cm->current_video_frame; -#if CONFIG_EC_ADAPT aom_free(tile_ctxs); aom_free(cdf_ptrs); -#endif return; } #endif // CONFIG_EXT_REFS @@ -4568,10 +4561,8 @@ if (drop_this_frame) { av1_rc_postencode_update_drop_frame(cpi); ++cm->current_video_frame; -#if CONFIG_EC_ADAPT aom_free(tile_ctxs); aom_free(cdf_ptrs); -#endif return; } #else @@ -4582,10 +4573,8 @@ if (av1_rc_drop_frame(cpi)) { av1_rc_postencode_update_drop_frame(cpi); ++cm->current_video_frame; -#if CONFIG_EC_ADAPT aom_free(tile_ctxs); aom_free(cdf_ptrs); -#endif return; } } @@ -4686,10 +4675,8 @@ av1_pack_bitstream(cpi, dest, size); if (skip_adapt) { -#if CONFIG_EC_ADAPT aom_free(tile_ctxs); aom_free(cdf_ptrs); -#endif return; } @@ -4730,7 +4717,6 @@ if (cm->refresh_frame_context == REFRESH_FRAME_CONTEXT_BACKWARD) { av1_adapt_coef_probs(cm); av1_adapt_intra_frame_probs(cm); -#if CONFIG_EC_ADAPT make_update_tile_list_enc(cpi, cm->tile_rows, cm->tile_cols, tile_ctxs); av1_average_tile_coef_cdfs(cpi->common.fc, tile_ctxs, cdf_ptrs, cm->tile_rows * cm->tile_cols); @@ -4740,7 +4726,6 @@ av1_average_tile_pvq_cdfs(cpi->common.fc, tile_ctxs, cm->tile_rows * cm->tile_cols); #endif // CONFIG_PVQ -#endif // CONFIG_EC_ADAPT #if CONFIG_ADAPT_SCAN av1_adapt_scan_order(cm); #endif // CONFIG_ADAPT_SCAN @@ -4750,12 +4735,10 @@ if (cm->refresh_frame_context == REFRESH_FRAME_CONTEXT_BACKWARD) { av1_adapt_inter_frame_probs(cm); av1_adapt_mv_probs(cm, cm->allow_high_precision_mv); -#if CONFIG_EC_ADAPT av1_average_tile_inter_cdfs(&cpi->common, cpi->common.fc, tile_ctxs, cdf_ptrs, cm->tile_rows * cm->tile_cols); av1_average_tile_mv_cdfs(cpi->common.fc, tile_ctxs, cdf_ptrs, cm->tile_rows * cm->tile_cols); -#endif } } @@ -4791,10 +4774,8 @@ if (drop_this_frame) { av1_rc_postencode_update_drop_frame(cpi); ++cm->current_video_frame; -#if CONFIG_EC_ADAPT aom_free(tile_ctxs); aom_free(cdf_ptrs); -#endif return; } #else // !CONFIG_XIPHRC @@ -4843,10 +4824,8 @@ #if CONFIG_EXT_REFS } #endif // CONFIG_EXT_REFS -#if CONFIG_EC_ADAPT aom_free(tile_ctxs); aom_free(cdf_ptrs); -#endif } static void Pass0Encode(AV1_COMP *cpi, size_t *size, uint8_t *dest,
diff --git a/av1/encoder/encoder.h b/av1/encoder/encoder.h index 1cc7fb2..ab09cc1 100644 --- a/av1/encoder/encoder.h +++ b/av1/encoder/encoder.h
@@ -317,9 +317,7 @@ #if CONFIG_CFL CFL_CTX cfl; #endif -#if CONFIG_EC_ADAPT DECLARE_ALIGNED(16, FRAME_CONTEXT, tctx); -#endif } TileDataEnc; typedef struct RD_COUNTS {
diff --git a/av1/encoder/encodetxb.c b/av1/encoder/encodetxb.c index 904b668..6875e21 100644 --- a/av1/encoder/encodetxb.c +++ b/av1/encoder/encodetxb.c
@@ -1456,11 +1456,7 @@ // These numbers are empirically obtained. static const int plane_rd_mult[REF_TYPES][PLANE_TYPES] = { -#if CONFIG_EC_ADAPT { 17, 13 }, { 16, 10 }, -#else - { 20, 12 }, { 16, 12 }, -#endif }; int av1_optimize_txb(const AV1_COMMON *cm, MACROBLOCK *x, int plane, int block,
diff --git a/av1/encoder/rd.c b/av1/encoder/rd.c index f20701c..2fafa4d 100644 --- a/av1/encoder/rd.c +++ b/av1/encoder/rd.c
@@ -66,31 +66,16 @@ for (i = 0; i < INTRA_MODES; ++i) for (j = 0; j < INTRA_MODES; ++j) -#if CONFIG_EC_ADAPT av1_cost_tokens_from_cdf(cpi->y_mode_costs[i][j], av1_kf_y_mode_cdf[i][j], av1_intra_mode_inv); -#else - av1_cost_tokens(cpi->y_mode_costs[i][j], av1_kf_y_mode_prob[i][j], - av1_intra_mode_tree); -#endif for (i = 0; i < BLOCK_SIZE_GROUPS; ++i) -#if CONFIG_EC_ADAPT av1_cost_tokens_from_cdf(cpi->mbmode_cost[i], fc->y_mode_cdf[i], av1_intra_mode_inv); -#else - av1_cost_tokens(cpi->mbmode_cost[i], fc->y_mode_prob[i], - av1_intra_mode_tree); -#endif for (i = 0; i < INTRA_MODES; ++i) -#if CONFIG_EC_ADAPT av1_cost_tokens_from_cdf(cpi->intra_uv_mode_cost[i], fc->uv_mode_cdf[i], av1_intra_mode_inv); -#else - av1_cost_tokens(cpi->intra_uv_mode_cost[i], fc->uv_mode_prob[i], - av1_intra_mode_tree); -#endif for (i = 0; i < SWITCHABLE_FILTER_CONTEXTS; ++i) av1_cost_tokens(cpi->switchable_interp_costs[i],
diff --git a/av1/encoder/rdopt.c b/av1/encoder/rdopt.c index 0c74676..04d98ac 100644 --- a/av1/encoder/rdopt.c +++ b/av1/encoder/rdopt.c
@@ -1764,11 +1764,7 @@ if (!is_inter_block(mbmi)) { #if CONFIG_CFL -#if CONFIG_EC_ADAPT FRAME_CONTEXT *const ec_ctx = xd->tile_ctx; -#else - FRAME_CONTEXT *const ec_ctx = cm->fc; -#endif // CONFIG_EC_ADAPT #if CONFIG_DEBUG // av1_predict_intra_block_facade does not pass plane_bsize, we need to validate @@ -2661,11 +2657,7 @@ for (row = 0; row < max_blocks_high; row += stepr) { for (col = 0; col < max_blocks_wide; col += stepc) { #if CONFIG_CFL -#if CONFIG_EC_ADAPT FRAME_CONTEXT *const ec_ctx = xd->tile_ctx; -#else - FRAME_CONTEXT *const ec_ctx = cpi->common.fc; -#endif // CONFIG_EC_ADAPT av1_predict_intra_block_encoder_facade(x, ec_ctx, 0, block, col, row, tx_size); @@ -8955,11 +8947,7 @@ MACROBLOCKD *const xd = &x->e_mbd; const TileInfo *tile = &xd->tile; -#if CONFIG_EC_ADAPT FRAME_CONTEXT *const ec_ctx = xd->tile_ctx; -#else - FRAME_CONTEXT *const ec_ctx = cm->fc; -#endif // CONFIG_EC_ADAPT MODE_INFO *const mi = xd->mi[0]; const int mi_row = -xd->mb_to_top_edge / (8 * MI_SIZE); const int mi_col = -xd->mb_to_left_edge / (8 * MI_SIZE);
diff --git a/av1/encoder/tokenize.c b/av1/encoder/tokenize.c index 3df9b6a..555ac06 100644 --- a/av1/encoder/tokenize.c +++ b/av1/encoder/tokenize.c
@@ -450,11 +450,7 @@ const int ref = is_inter_block(mbmi); unsigned int(*const counts)[COEFF_CONTEXTS][ENTROPY_TOKENS] = td->rd_counts.coef_counts[txsize_sqr_map[tx_size]][type][ref]; -#if CONFIG_EC_ADAPT FRAME_CONTEXT *ec_ctx = xd->tile_ctx; -#else - FRAME_CONTEXT *ec_ctx = cpi->common.fc; -#endif aom_cdf_prob( *const coef_head_cdfs)[COEFF_CONTEXTS][CDF_SIZE(ENTROPY_TOKENS)] = ec_ctx->coef_head_cdfs[txsize_sqr_map[tx_size]][type][ref];
diff --git a/build/cmake/aom_config_defaults.cmake b/build/cmake/aom_config_defaults.cmake index 941ef8b..24a65d5 100644 --- a/build/cmake/aom_config_defaults.cmake +++ b/build/cmake/aom_config_defaults.cmake
@@ -141,7 +141,6 @@ set(CONFIG_PARALLEL_DEBLOCKING_15TAP 0 CACHE NUMBER "Internal flag.") set(CONFIG_LOOPFILTERING_ACROSS_TILES 1 CACHE NUMBER "Internal flag.") set(CONFIG_TILE_GROUPS 1 CACHE NUMBER "Internal flag.") -set(CONFIG_EC_ADAPT 1 CACHE NUMBER "Internal flag.") set(CONFIG_TEMPMV_SIGNALING 1 CACHE NUMBER "Internal flag.") set(CONFIG_RD_DEBUG 0 CACHE NUMBER "Internal flag.") set(CONFIG_REFERENCE_BUFFER 1 CACHE NUMBER "Internal flag.")
diff --git a/configure b/configure index 5580a86..0077ce9 100755 --- a/configure +++ b/configure
@@ -302,7 +302,6 @@ parallel_deblocking_15tap loopfiltering_across_tiles tile_groups - ec_adapt tempmv_signaling rd_debug reference_buffer @@ -496,7 +495,6 @@ soft_enable global_motion soft_enable ext_tx soft_enable cdef - soft_enable ec_adapt soft_enable ext_intra soft_enable mv_compress soft_enable ext_refs @@ -526,7 +524,6 @@ soft_enable tempmv_signaling # Fix up experiment dependencies - enabled pvq && enable_feature ec_adapt enabled pvq && disable_feature chroma_sub8x8 enabled pvq && disable_feature cb4x4 enabled pvq && disable_feature rect_tx @@ -542,7 +539,6 @@ enabled dpcm_intra && enable_feature ext_tx enabled chroma_sub8x8 && enable_feature cb4x4 enabled compound_singleref && enable_feature ext_inter - enabled new_multisymbol && enable_feature ec_adapt enabled warped_motion && disable_feature ncobmc_adapt_weight enabled ncobmc_adapt_weight && enable_feature motion_var enabled bgsprite && enable_feature global_motion
diff --git a/tools/aom_entropy_optimizer.c b/tools/aom_entropy_optimizer.c index 667a9bf..5eec3d8 100644 --- a/tools/aom_entropy_optimizer.c +++ b/tools/aom_entropy_optimizer.c
@@ -28,7 +28,6 @@ #include "./aom_config.h" #include "av1/common/entropymode.h" -#if CONFIG_EC_ADAPT #if CONFIG_ALT_INTRA #if CONFIG_SMOOTH_HV const aom_tree_index av1_intra_mode_tree[TREE_SIZE(INTRA_MODES)] = { @@ -84,7 +83,6 @@ -D153_PRED, -D207_PRED /* 8 = D153_NODE */ }; #endif // CONFIG_ALT_INTRA -#endif #define SPACES_PER_TAB 2