diff h261.c @ 2345:ada3891b859d libavcodec

H261 fixing and cleaning: -corrected wrong value in mv data -set correct mb_type after adjusting index -don't use H263 loop filter when the loop filter flag is set but when using the H261 encoder -use the same unquantizer as H263 (which is optimized btw) -removed unused members in H261Context patch by (Maarten Daniels <maarten.daniels >at< luc >dot< ac >dot< be>) regression test checksum update by me
author michael
date Fri, 12 Nov 2004 01:21:34 +0000
parents cb3f0954e982
children def33a002b94
line wrap: on
line diff
--- a/h261.c	Thu Nov 11 18:09:28 2004 +0000
+++ b/h261.c	Fri Nov 12 01:21:34 2004 +0000
@@ -53,8 +53,6 @@
     int current_mv_x;
     int current_mv_y;
     int gob_number;
-    int bits_left; //8 - nr of bits left of the following frame in the last byte in this frame
-    int last_bits; //bits left of the following frame in the last byte in this frame
     int gob_start_code_skipped; // 1 if gob start code is already read before gob header is read
 }H261Context;
 
@@ -176,7 +174,7 @@
         put_bits(&s->pb,h261_mv_tab[code][1],h261_mv_tab[code][0]);
     } 
     else{
-        if(val > 16)
+        if(val > 15)
             val -=32;
         if(val < -16)
             val+=32;
@@ -847,24 +845,12 @@
 }
 
 static int h261_find_frame_end(ParseContext *pc, AVCodecContext* avctx, const uint8_t *buf, int buf_size){
-    int vop_found, i, j, bits_left, last_bits;
+    int vop_found, i, j;
     uint32_t state;
 
-    H261Context *h = avctx->priv_data;
-
-    if(h){
-        bits_left = h->bits_left;
-        last_bits = h->last_bits;
-    }
-    else{
-        bits_left = 0;
-        last_bits = 0;
-    }
-
     vop_found= pc->frame_start_found;
     state= pc->state;
-    if(bits_left!=0 && !vop_found)
-        state = state << (8-bits_left) | last_bits;
+   
     i=0;
     if(!vop_found){
         for(i=0; i<buf_size; i++){