diff mpegvideo.c @ 197:21abf1b20016 libavcodec

different fix, s->mbintra_table used only if h263_pred set. - patch by Michael Niedermayer <michaelni@gmx.at>
author arpi_esp
date Fri, 11 Jan 2002 22:07:12 +0000
parents 9ffa69cd4ed6
children 82ba367b1827
line wrap: on
line diff
--- a/mpegvideo.c	Fri Jan 11 21:32:34 2002 +0000
+++ b/mpegvideo.c	Fri Jan 11 22:07:12 2002 +0000
@@ -180,13 +180,13 @@
         s->coded_block = av_mallocz(y_size);
         if (!s->coded_block)
             goto fail;
-    }
 
         /* which mb is a intra block */
         s->mbintra_table = av_mallocz(s->mb_width * s->mb_height);
         if (!s->mbintra_table)
             goto fail;
         memset(s->mbintra_table, 1, s->mb_width * s->mb_height);
+    }
     /* default structure is frame */
     s->picture_structure = PICT_FRAME;
 
@@ -209,7 +209,7 @@
     if (s->coded_block)
         free(s->coded_block);
     if (s->mbintra_table)
-        { free(s->mbintra_table);s->mbintra_table=NULL; }
+        free(s->mbintra_table);
     if (s->mbskip_table)
         free(s->mbskip_table);
     for(i=0;i<3;i++) {
@@ -234,7 +234,7 @@
         free(s->dc_val[0]);
         free(s->ac_val[0]);
         free(s->coded_block);
-        { free(s->mbintra_table);s->mbintra_table=NULL; }
+        free(s->mbintra_table);
     }
     if (s->mbskip_table)
         free(s->mbskip_table);
@@ -748,7 +748,7 @@
             s->last_dc[2] = 128 << s->intra_dc_precision;
         }
     }
-    else
+    else if (s->h263_pred)
         s->mbintra_table[mb_x + mb_y*s->mb_width]=1;
 
     /* update motion predictor */