diff h263.c @ 1757:3906ddbaffec libavcodec

optimization & bugfix extracted from the 4k line diff between ffmpeg 0.4.7 and http://www.alicestreet.com/ffh263.html the other parts of the diff where 1. spelling fixes (rejected as only a small part of it could be applied automatically) 2. cosmetics (reindention, function reordering, var renaming, ...) with bugs (rejected) 3. rtp related stuff (rejetced as it breaks several codecs) 4. some changes to the intra/inter decission & scene change detection (quality tests needed first)
author michael
date Sat, 24 Jan 2004 23:47:33 +0000
parents 9f47c2211da9
children ebe7fa49ddcc
line wrap: on
line diff
--- a/h263.c	Sat Jan 24 22:22:42 2004 +0000
+++ b/h263.c	Sat Jan 24 23:47:33 2004 +0000
@@ -1130,6 +1130,8 @@
                 s->misc_bits++;
                 s->last_bits++;
             }
+            s->skip_count++;
+
             return;
         }
         put_bits(&s->pb, 1, 0);	/* mb coded */
@@ -2032,7 +2034,7 @@
         if (level == 128) //FIXME check rv10
             put_bits(&s->pb, 8, 0xff);
         else
-            put_bits(&s->pb, 8, level & 0xff);
+            put_bits(&s->pb, 8, level);
         i = 1;
     } else {
         i = 0;
@@ -2102,7 +2104,7 @@
                 
                 assert(slevel != 0);
 
-                if(slevel < 128 && slevel > -128) 
+                if(level < 128) 
                     put_bits(&s->pb, 8, slevel & 0xff);
                 else{
                     put_bits(&s->pb, 8, 128);
@@ -2110,8 +2112,7 @@
                     put_bits(&s->pb, 6, (slevel>>5)&0x3f);
                 }
               }else{
-                    if(slevel < 64 && slevel > -64) {
-                        /* 7-bit level */
+                if(level < 64) { // 7-bit level
                         put_bits(&s->pb, 1, 0);
                         put_bits(&s->pb, 1, last);
                         put_bits(&s->pb, 6, run);