diff h263.c @ 2632:67171616ead6 libavcodec

avoid unneeded clear_blocks()
author michael
date Mon, 25 Apr 2005 00:57:48 +0000
parents 511e3afc43e1
children ef44d24680d1
line wrap: on
line diff
--- a/h263.c	Mon Apr 25 00:10:11 2005 +0000
+++ b/h263.c	Mon Apr 25 00:57:48 2005 +0000
@@ -3753,6 +3753,7 @@
 
     if (!IS_SKIP(mb_type)) {
         int i;
+        s->dsp.clear_blocks(s->block[0]);
         /* decode each block */
         for (i = 0; i < 6; i++) {
             if(mpeg4_decode_block(s, block[i], i, cbp&32, s->mb_intra, s->rvlc) < 0){
@@ -3921,6 +3922,8 @@
             }
         }while(cbpc == 20);
         
+        s->dsp.clear_blocks(s->block[0]);
+        
         dquant = cbpc & 8;
         s->mb_intra = ((cbpc & 4) != 0);
         if (s->mb_intra) goto intra;
@@ -4024,6 +4027,7 @@
 
         s->mb_intra = IS_INTRA(mb_type);
         if(HAS_CBP(mb_type)){
+            s->dsp.clear_blocks(s->block[0]);
             cbpc = get_vlc2(&s->gb, cbpc_b_vlc.table, CBPC_B_VLC_BITS, 1);
             if(s->mb_intra){
                 dquant = IS_QUANT(mb_type);
@@ -4102,6 +4106,8 @@
             }
         }while(cbpc == 8);
 
+        s->dsp.clear_blocks(s->block[0]);
+
         dquant = cbpc & 4;
         s->mb_intra = 1;
 intra:
@@ -4193,6 +4199,7 @@
             }
         }while(cbpc == 20);
         
+        s->dsp.clear_blocks(s->block[0]);
         dquant = cbpc & 8;
         s->mb_intra = ((cbpc & 4) != 0);
         if (s->mb_intra) goto intra;
@@ -4324,7 +4331,10 @@
             }
             mb_type= mb_type_b_map[ mb_type ];
             if(modb2) cbp= 0;
-            else      cbp= get_bits(&s->gb, 6);
+            else{
+                s->dsp.clear_blocks(s->block[0]);
+                cbp= get_bits(&s->gb, 6);
+            }
 
             if ((!IS_DIRECT(mb_type)) && cbp) {
                 if(get_bits1(&s->gb)){
@@ -4442,6 +4452,7 @@
         if(!s->progressive_sequence)
             s->interlaced_dct= get_bits1(&s->gb);
 
+        s->dsp.clear_blocks(s->block[0]);
         /* decode each block */
         for (i = 0; i < 6; i++) {
             if (mpeg4_decode_block(s, block[i], i, cbp&32, 1, 0) < 0)