shithub: libvpx

Download patch

ref: a4d906c13228ac79ed83c4c55b18df4698224db9
parent: 551f37d63d508d24dfe071454ca9f38df01c29e9
author: Deb Mukherjee <[email protected]>
date: Tue Jun 11 05:31:33 EDT 2013

Minor change in forward updates

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

--- a/vp9/decoder/vp9_decodframe.c
+++ b/vp9/decoder/vp9_decodframe.c
@@ -156,13 +156,14 @@
 }
 
 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);
   }
 }
 
--- a/vp9/encoder/vp9_bitstream.c
+++ b/vp9/encoder/vp9_bitstream.c
@@ -265,7 +265,7 @@
 
 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 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