diff cavs.c @ 3471:c2db6e76b269 libavcodec

replace run by run+1 in VLC tables
author stefang
date Fri, 14 Jul 2006 19:15:08 +0000
parents c9059c843d4c
children 0e0cffe06fb3
line wrap: on
line diff
--- a/cavs.c	Fri Jul 14 19:14:25 2006 +0000
+++ b/cavs.c	Fri Jul 14 19:15:08 2006 +0000
@@ -655,7 +655,7 @@
     for(i=0;i<65;i++) {
         level_code = get_ue_code(gb,r->golomb_order);
         if(level_code >= ESCAPE_CODE) {
-            run = (level_code - ESCAPE_CODE) >> 1;
+            run = ((level_code - ESCAPE_CODE) >> 1) + 1;
             esc_code = get_ue_code(gb,esc_golomb_order);
             level = esc_code + (run > r->max_run ? 1 : r->level_add[run]);
             while(level > r->inc_limit)
@@ -663,8 +663,6 @@
             mask = -(level_code & 1);
             level = (level^mask) - mask;
         } else {
-            if(level_code < 0)
-                return -1;
             level = r->rltab[level_code][0];
             if(!level) //end of block signal
                 break;
@@ -676,7 +674,7 @@
     }
     /* inverse scan and dequantization */
     while(--i >= 0){
-        pos += 1 + run_buf[i];
+        pos += run_buf[i];
         if(pos > 63) {
             av_log(h->s.avctx, AV_LOG_ERROR,
                    "position out of block bounds at pic %d MB(%d,%d)\n",