Mercurial > libavcodec.hg
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",