diff mpegvideo.c @ 1089:7e79a58954b1 libavcodec

h263(+) clenaup & bugfixes
author michaelni
date Fri, 28 Feb 2003 13:07:07 +0000
parents d3b93dc997a3
children f59c3f66363b
line wrap: on
line diff
--- a/mpegvideo.c	Fri Feb 28 01:59:56 2003 +0000
+++ b/mpegvideo.c	Fri Feb 28 13:07:07 2003 +0000
@@ -656,8 +656,7 @@
         s->h263_aic = 1;
         
         /* These are just to be sure */
-        s->umvplus = 0;
-        s->umvplus_dec = 0;
+        s->umvplus = 1;
         avctx->delay=0;
         s->low_delay=1;
         break;
@@ -2908,17 +2907,14 @@
     
     s->qscale= (int)(s->frame_qscale + 0.5); //FIXME qscale / ... stuff for ME ratedistoration
     
-    if(s->msmpeg4_version){
-        if(s->pict_type==I_TYPE)
-            s->no_rounding=1;
-        else if(s->flipflop_rounding)
-            s->no_rounding ^= 1;          
-    }else if(s->out_format == FMT_H263){
-        if(s->pict_type==I_TYPE)
-            s->no_rounding=0;
-        else if(s->pict_type!=B_TYPE)
+    if(s->pict_type==I_TYPE){
+        if(s->msmpeg4_version) s->no_rounding=1;
+        else                   s->no_rounding=0;
+    }else if(s->pict_type!=B_TYPE){
+        if(s->flipflop_rounding || s->codec_id == CODEC_ID_H263P || s->codec_id == CODEC_ID_MPEG4)
             s->no_rounding ^= 1;          
     }
+    
     /* Estimate motion for every MB */
     s->mb_intra=0; //for the rate distoration & bit compare functions
     if(s->pict_type != I_TYPE){
@@ -2993,7 +2989,7 @@
 //printf("Scene change detected, encoding as I Frame %d %d\n", s->current_picture.mb_var_sum, s->current_picture.mc_mb_var_sum);
     }
 
-    if(s->codec_id != CODEC_ID_H263P){ //FIXME use umvplus or something
+    if(!s->umvplus){
         if(s->pict_type==P_TYPE || s->pict_type==S_TYPE) {
             s->f_code= ff_get_best_fcode(s, s->p_mv_table, MB_TYPE_INTER);