diff options
author | Alex Converse <aconverse@google.com> | 2016-01-15 13:55:29 -0800 |
---|---|---|
committer | Alex Converse <aconverse@google.com> | 2016-01-15 13:56:34 -0800 |
commit | dea6f5217ef405cfd1f11f48edf43c4e2ca95e3d (patch) | |
tree | b8f5545026ad29a4727f1ca3518a238cfdab0414 /vp10/encoder | |
parent | dcc0c894c4594d66a58ec5f05a6b44e43f504cb5 (diff) | |
download | libvpx-dea6f5217ef405cfd1f11f48edf43c4e2ca95e3d.tar libvpx-dea6f5217ef405cfd1f11f48edf43c4e2ca95e3d.tar.gz libvpx-dea6f5217ef405cfd1f11f48edf43c4e2ca95e3d.tar.bz2 libvpx-dea6f5217ef405cfd1f11f48edf43c4e2ca95e3d.zip |
Deduplicate sign cost for ONE/TWO/THREE/FOUR tokens
Change-Id: I9c383d604dfd240e38b198ac5bf86ddd3456f442
Diffstat (limited to 'vp10/encoder')
-rw-r--r-- | vp10/encoder/tokenize.c | 41 |
1 files changed, 19 insertions, 22 deletions
diff --git a/vp10/encoder/tokenize.c b/vp10/encoder/tokenize.c index 1b94190b7..a665a3cfe 100644 --- a/vp10/encoder/tokenize.c +++ b/vp10/encoder/tokenize.c @@ -75,10 +75,7 @@ static const vpx_tree_index cat6[28] = {2, 2, 4, 4, 6, 6, 8, 8, 10, 10, 12, 12, 14, 14, 16, 16, 18, 18, 20, 20, 22, 22, 24, 24, 26, 26, 0, 0}; static const int16_t zero_cost[] = {0}; -static const int16_t one_cost[] = {255, 257}; -static const int16_t two_cost[] = {255, 257}; -static const int16_t three_cost[] = {255, 257}; -static const int16_t four_cost[] = {255, 257}; +static const int16_t sign_cost[] = {255, 257}; static const int16_t cat1_cost[] = {429, 431, 616, 618}; static const int16_t cat2_cost[] = {624, 626, 727, 729, 848, 850, 951, 953}; static const int16_t cat3_cost[] = { @@ -386,48 +383,48 @@ static const vpx_tree_index cat6_high12[36] = {2, 2, 4, 4, 6, 6, 8, 8, 10, 10, #endif const vp10_extra_bit vp10_extra_bits[ENTROPY_TOKENS] = { - {0, 0, 0, 0, zero_cost}, // ZERO_TOKEN - {0, 0, 0, 1, one_cost}, // ONE_TOKEN - {0, 0, 0, 2, two_cost}, // TWO_TOKEN - {0, 0, 0, 3, three_cost}, // THREE_TOKEN - {0, 0, 0, 4, four_cost}, // FOUR_TOKEN + {0, 0, 0, 0, zero_cost}, // ZERO_TOKEN + {0, 0, 0, 1, sign_cost}, // ONE_TOKEN + {0, 0, 0, 2, sign_cost}, // TWO_TOKEN + {0, 0, 0, 3, sign_cost}, // THREE_TOKEN + {0, 0, 0, 4, sign_cost}, // FOUR_TOKEN {cat1, vp10_cat1_prob, 1, CAT1_MIN_VAL, cat1_cost}, // CATEGORY1_TOKEN {cat2, vp10_cat2_prob, 2, CAT2_MIN_VAL, cat2_cost}, // CATEGORY2_TOKEN {cat3, vp10_cat3_prob, 3, CAT3_MIN_VAL, cat3_cost}, // CATEGORY3_TOKEN {cat4, vp10_cat4_prob, 4, CAT4_MIN_VAL, cat4_cost}, // CATEGORY4_TOKEN {cat5, vp10_cat5_prob, 5, CAT5_MIN_VAL, cat5_cost}, // CATEGORY5_TOKEN {cat6, vp10_cat6_prob, 14, CAT6_MIN_VAL, 0}, // CATEGORY6_TOKEN - {0, 0, 0, 0, zero_cost} // EOB_TOKEN + {0, 0, 0, 0, zero_cost} // EOB_TOKEN }; #if CONFIG_VP9_HIGHBITDEPTH const vp10_extra_bit vp10_extra_bits_high10[ENTROPY_TOKENS] = { - {0, 0, 0, 0, zero_cost}, // ZERO - {0, 0, 0, 1, one_cost}, // ONE - {0, 0, 0, 2, two_cost}, // TWO - {0, 0, 0, 3, three_cost}, // THREE - {0, 0, 0, 4, four_cost}, // FOUR + {0, 0, 0, 0, zero_cost}, // ZERO + {0, 0, 0, 1, sign_cost}, // ONE + {0, 0, 0, 2, sign_cost}, // TWO + {0, 0, 0, 3, sign_cost}, // THREE + {0, 0, 0, 4, sign_cost}, // FOUR {cat1_high10, vp10_cat1_prob_high10, 1, CAT1_MIN_VAL, cat1_cost}, // CAT1 {cat2_high10, vp10_cat2_prob_high10, 2, CAT2_MIN_VAL, cat2_cost}, // CAT2 {cat3_high10, vp10_cat3_prob_high10, 3, CAT3_MIN_VAL, cat3_cost}, // CAT3 {cat4_high10, vp10_cat4_prob_high10, 4, CAT4_MIN_VAL, cat4_cost}, // CAT4 {cat5_high10, vp10_cat5_prob_high10, 5, CAT5_MIN_VAL, cat5_cost}, // CAT5 {cat6_high10, vp10_cat6_prob_high10, 16, CAT6_MIN_VAL, 0}, // CAT6 - {0, 0, 0, 0, zero_cost} // EOB + {0, 0, 0, 0, zero_cost} // EOB }; const vp10_extra_bit vp10_extra_bits_high12[ENTROPY_TOKENS] = { - {0, 0, 0, 0, zero_cost}, // ZERO - {0, 0, 0, 1, one_cost}, // ONE - {0, 0, 0, 2, two_cost}, // TWO - {0, 0, 0, 3, three_cost}, // THREE - {0, 0, 0, 4, four_cost}, // FOUR + {0, 0, 0, 0, zero_cost}, // ZERO + {0, 0, 0, 1, sign_cost}, // ONE + {0, 0, 0, 2, sign_cost}, // TWO + {0, 0, 0, 3, sign_cost}, // THREE + {0, 0, 0, 4, sign_cost}, // FOUR {cat1_high12, vp10_cat1_prob_high12, 1, CAT1_MIN_VAL, cat1_cost}, // CAT1 {cat2_high12, vp10_cat2_prob_high12, 2, CAT2_MIN_VAL, cat2_cost}, // CAT2 {cat3_high12, vp10_cat3_prob_high12, 3, CAT3_MIN_VAL, cat3_cost}, // CAT3 {cat4_high12, vp10_cat4_prob_high12, 4, CAT4_MIN_VAL, cat4_cost}, // CAT4 {cat5_high12, vp10_cat5_prob_high12, 5, CAT5_MIN_VAL, cat5_cost}, // CAT5 {cat6_high12, vp10_cat6_prob_high12, 18, CAT6_MIN_VAL, 0}, // CAT6 - {0, 0, 0, 0, zero_cost} // EOB + {0, 0, 0, 0, zero_cost} // EOB }; #endif |