summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Converse <aconverse@google.com>2015-10-27 10:02:31 -0700
committerAlex Converse <aconverse@google.com>2015-10-27 12:10:25 -0700
commit0f059d6d65dda4f5ce3aa7a62dc7646cbbb6427f (patch)
treecadc75394618129b99c12eda6a337da0c349b3f0
parenta736bf6bfb66d08848b114344731c4e04ac5066d (diff)
downloadlibvpx-0f059d6d65dda4f5ce3aa7a62dc7646cbbb6427f.tar
libvpx-0f059d6d65dda4f5ce3aa7a62dc7646cbbb6427f.tar.gz
libvpx-0f059d6d65dda4f5ce3aa7a62dc7646cbbb6427f.tar.bz2
libvpx-0f059d6d65dda4f5ce3aa7a62dc7646cbbb6427f.zip
misc fixes: Remove a wasted value.
Remove delta index 254 from probability remapping and subexp coding. Saves 1-bit when the delta index is 129. Change-Id: I88aba565fc766b1769165be458d2efd3ce45817e
-rw-r--r--vp10/decoder/dsubexp.c9
-rw-r--r--vp10/encoder/subexp.c5
2 files changed, 9 insertions, 5 deletions
diff --git a/vp10/decoder/dsubexp.c b/vp10/decoder/dsubexp.c
index 9a57fd8ae..36c1917bc 100644
--- a/vp10/decoder/dsubexp.c
+++ b/vp10/decoder/dsubexp.c
@@ -23,13 +23,13 @@ static int inv_recenter_nonneg(int v, int m) {
static int decode_uniform(vpx_reader *r) {
const int l = 8;
- const int m = (1 << l) - 191;
+ const int m = (1 << l) - 191 + CONFIG_MISC_FIXES;
const int v = vpx_read_literal(r, l - 1);
return v < m ? v : (v << 1) - m + vpx_read_bit(r);
}
static int inv_remap_prob(int v, int m) {
- static uint8_t inv_map_table[MAX_PROB] = {
+ static uint8_t inv_map_table[MAX_PROB - CONFIG_MISC_FIXES] = {
7, 20, 33, 46, 59, 72, 85, 98, 111, 124, 137, 150, 163, 176, 189,
202, 215, 228, 241, 254, 1, 2, 3, 4, 5, 6, 8, 9, 10, 11,
12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27,
@@ -46,7 +46,10 @@ static int inv_remap_prob(int v, int m) {
191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 203, 204, 205, 206,
207, 208, 209, 210, 211, 212, 213, 214, 216, 217, 218, 219, 220, 221, 222,
223, 224, 225, 226, 227, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
- 239, 240, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 253
+ 239, 240, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253,
+#if !CONFIG_MISC_FIXES
+ 253
+#endif
};
assert(v < (int)(sizeof(inv_map_table) / sizeof(inv_map_table[0])));
v = inv_map_table[v];
diff --git a/vp10/encoder/subexp.c b/vp10/encoder/subexp.c
index 0d1f1d629..67e820b1f 100644
--- a/vp10/encoder/subexp.c
+++ b/vp10/encoder/subexp.c
@@ -25,7 +25,8 @@ static const uint8_t update_bits[255] = {
10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
- 10, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
+ 10, 11 - CONFIG_MISC_FIXES,
+ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
@@ -85,7 +86,7 @@ static int prob_diff_update_cost(vpx_prob newp, vpx_prob oldp) {
static void encode_uniform(vpx_writer *w, int v) {
const int l = 8;
- const int m = (1 << l) - 191;
+ const int m = (1 << l) - 191 + CONFIG_MISC_FIXES;
if (v < m) {
vpx_write_literal(w, v, l - 1);
} else {