shithub: libvpx

Download patch

ref: 45e49e6e197b236e1fef4c51c3d28da0d6d421b8
parent: ee03ce909b99ca343617ed9075c6fd914981c749
author: Paul Wilkins <paulwilkins@google.com>
date: Fri Sep 30 12:08:37 EDT 2011

Experimental: segfeature added.

New setting added to configure script

--- a/configure
+++ b/configure
@@ -219,6 +219,7 @@
 EXPERIMENT_LIST="
     extend_qrange
     segmentation
+    segfeatures
     t8x8
     csm
     i8x8
--- a/vp8/decoder/detokenize.c
+++ b/vp8/decoder/detokenize.c
@@ -374,11 +374,11 @@
                                 CAT_THREEFOUR_CONTEXT_NODE_0_8x8_);
     DECODE_AND_BRANCH_IF_ZERO(Prob[CAT_FIVE_CONTEXT_NODE],
                                 CAT_FIVE_CONTEXT_NODE_0_8x8_);
-    val = CAT6_MIN_VAL;
+    val = CAT6_MIN_VAL;
     bits_count = CONFIG_EXTEND_QRANGE?12:10;
     do
     {
-        DECODE_EXTRABIT_AND_ADJUST_VAL(cat6_prob[bits_count], bits_count);
+        DECODE_EXTRABIT_AND_ADJUST_VAL(cat6_prob[bits_count], bits_count);
         bits_count -- ;
     }
     while (bits_count >= 0);
@@ -392,12 +392,12 @@
     }
 
 CAT_FIVE_CONTEXT_NODE_0_8x8_:
-    val = CAT5_MIN_VAL;
-    DECODE_EXTRABIT_AND_ADJUST_VAL(CAT5_PROB4, 4);
-    DECODE_EXTRABIT_AND_ADJUST_VAL(CAT5_PROB3, 3);
-    DECODE_EXTRABIT_AND_ADJUST_VAL(CAT5_PROB2, 2);
-    DECODE_EXTRABIT_AND_ADJUST_VAL(CAT5_PROB1, 1);
-    DECODE_EXTRABIT_AND_ADJUST_VAL(CAT5_PROB0, 0);
+    val = CAT5_MIN_VAL;
+    DECODE_EXTRABIT_AND_ADJUST_VAL(CAT5_PROB4, 4);
+    DECODE_EXTRABIT_AND_ADJUST_VAL(CAT5_PROB3, 3);
+    DECODE_EXTRABIT_AND_ADJUST_VAL(CAT5_PROB2, 2);
+    DECODE_EXTRABIT_AND_ADJUST_VAL(CAT5_PROB1, 1);
+    DECODE_EXTRABIT_AND_ADJUST_VAL(CAT5_PROB0, 0);
     if(i==24)
     {
         DECODE_SIGN_WRITE_COEFF_AND_CHECK_EXIT_8x8_2(val);
@@ -410,11 +410,11 @@
 CAT_THREEFOUR_CONTEXT_NODE_0_8x8_:
     DECODE_AND_BRANCH_IF_ZERO(Prob[CAT_THREE_CONTEXT_NODE],
                             CAT_THREE_CONTEXT_NODE_0_8x8_);
-    val = CAT4_MIN_VAL;
-    DECODE_EXTRABIT_AND_ADJUST_VAL(CAT4_PROB3, 3);
-    DECODE_EXTRABIT_AND_ADJUST_VAL(CAT4_PROB2, 2);
-    DECODE_EXTRABIT_AND_ADJUST_VAL(CAT4_PROB1, 1);
-    DECODE_EXTRABIT_AND_ADJUST_VAL(CAT4_PROB0, 0);
+    val = CAT4_MIN_VAL;
+    DECODE_EXTRABIT_AND_ADJUST_VAL(CAT4_PROB3, 3);
+    DECODE_EXTRABIT_AND_ADJUST_VAL(CAT4_PROB2, 2);
+    DECODE_EXTRABIT_AND_ADJUST_VAL(CAT4_PROB1, 1);
+    DECODE_EXTRABIT_AND_ADJUST_VAL(CAT4_PROB0, 0);
     if(i==24)
     {
         DECODE_SIGN_WRITE_COEFF_AND_CHECK_EXIT_8x8_2(val);
@@ -425,10 +425,10 @@
     }
 
 CAT_THREE_CONTEXT_NODE_0_8x8_:
-    val = CAT3_MIN_VAL;
-    DECODE_EXTRABIT_AND_ADJUST_VAL(CAT3_PROB2, 2);
-    DECODE_EXTRABIT_AND_ADJUST_VAL(CAT3_PROB1, 1);
-    DECODE_EXTRABIT_AND_ADJUST_VAL(CAT3_PROB0, 0);
+    val = CAT3_MIN_VAL;
+    DECODE_EXTRABIT_AND_ADJUST_VAL(CAT3_PROB2, 2);
+    DECODE_EXTRABIT_AND_ADJUST_VAL(CAT3_PROB1, 1);
+    DECODE_EXTRABIT_AND_ADJUST_VAL(CAT3_PROB0, 0);
     if(i==24)
     {
         DECODE_SIGN_WRITE_COEFF_AND_CHECK_EXIT_8x8_2(val);
@@ -441,9 +441,9 @@
 HIGH_LOW_CONTEXT_NODE_0_8x8_:
     DECODE_AND_BRANCH_IF_ZERO(Prob[CAT_ONE_CONTEXT_NODE],
                             CAT_ONE_CONTEXT_NODE_0_8x8_);
-    val = CAT2_MIN_VAL;
-    DECODE_EXTRABIT_AND_ADJUST_VAL(CAT2_PROB1, 1);
-    DECODE_EXTRABIT_AND_ADJUST_VAL(CAT2_PROB0, 0);
+    val = CAT2_MIN_VAL;
+    DECODE_EXTRABIT_AND_ADJUST_VAL(CAT2_PROB1, 1);
+    DECODE_EXTRABIT_AND_ADJUST_VAL(CAT2_PROB0, 0);
     if(i==24)
     {
         DECODE_SIGN_WRITE_COEFF_AND_CHECK_EXIT_8x8_2(val);
@@ -454,8 +454,8 @@
     }
 
 CAT_ONE_CONTEXT_NODE_0_8x8_:
-    val = CAT1_MIN_VAL;
-    DECODE_EXTRABIT_AND_ADJUST_VAL(CAT1_PROB0, 0);
+    val = CAT1_MIN_VAL;
+    DECODE_EXTRABIT_AND_ADJUST_VAL(CAT1_PROB0, 0);
     if(i==24)
     {
         DECODE_SIGN_WRITE_COEFF_AND_CHECK_EXIT_8x8_2(val);