]> granicus.if.org Git - libvpx/commitdiff
Minor change in forward updates
authorDeb Mukherjee <debargha@google.com>
Tue, 11 Jun 2013 16:31:33 +0000 (09:31 -0700)
committerDeb Mukherjee <debargha@google.com>
Tue, 11 Jun 2013 17:33:07 +0000 (10:33 -0700)
Removes the case of coding prob = 0 for forward updates, since that
is not an allowed probability to code.
Slightly improves efficiency but may not matter in practice.

Change-Id: I3b4caf82e8f0891992f0706d4089cc5a27568dba

vp9/decoder/vp9_decodframe.c
vp9/encoder/vp9_bitstream.c

index 43015b987b60a6fe3f462c6101cb00078c84eb07..fa1f8a46d73f001c5c45239e291938dd1ca4abc8 100644 (file)
@@ -156,13 +156,14 @@ static int merge_index(int v, int n, int modulus) {
 }
 
 static int inv_remap_prob(int v, int m) {
-  const int n = 256;
+  const int n = 255;
 
   v = merge_index(v, n - 1, MODULUS_PARAM);
+  m--;
   if ((m << 1) <= n) {
-    return inv_recenter_nonneg(v + 1, m);
+    return 1 + inv_recenter_nonneg(v + 1, m);
   } else {
-    return n - 1 - inv_recenter_nonneg(v + 1, n - 1 - m);
+    return n - inv_recenter_nonneg(v + 1, n - 1 - m);
   }
 }
 
index 2808571e8e931fb875396281cdc6c276099ac35e..86cd81031273d77b08dba4db1b03a275855365c8 100644 (file)
@@ -265,7 +265,7 @@ int count_term_subexp(int word, int k, int num_syms) {
 
 static void compute_update_table() {
   int i;
-  for (i = 0; i < 255; i++)
+  for (i = 0; i < 254; i++)
     update_bits[i] = count_term_subexp(i, SUBEXP_PARAM, 255);
 }
 
@@ -277,9 +277,11 @@ static int split_index(int i, int n, int modulus) {
 }
 
 static int remap_prob(int v, int m) {
-  const int n = 256;
+  const int n = 255;
   const int modulus = MODULUS_PARAM;
   int i;
+  v--;
+  m--;
   if ((m << 1) <= n)
     i = recenter_nonneg(v, m) - 1;
   else