avoid if(i>=63) check at the end of decode_block()
authorMichael Niedermayer <michaelni@gmx.at>
Wed, 29 Mar 2006 09:20:44 +0000 (09:20 +0000)
committerMichael Niedermayer <michaelni@gmx.at>
Wed, 29 Mar 2006 09:20:44 +0000 (09:20 +0000)
Originally committed as revision 5239 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavcodec/mjpeg.c

index f0634a0..0f2a4e7 100644 (file)
@@ -1297,14 +1297,17 @@ static int decode_block(MJpegDecodeContext *s, DCTELEM *block,
 
             LAST_SKIP_BITS(re, &s->gb, code)
 
 
             LAST_SKIP_BITS(re, &s->gb, code)
 
-            if (i >= 64) {
+            if (i >= 63) {
+                if(i == 63){
+                    j = s->scantable.permutated[63];
+                    block[j] = level * quant_matrix[j];
+                    break;
+                }
                 dprintf("error count: %d\n", i);
                 return -1;
             }
             j = s->scantable.permutated[i];
             block[j] = level * quant_matrix[j];
                 dprintf("error count: %d\n", i);
                 return -1;
             }
             j = s->scantable.permutated[i];
             block[j] = level * quant_matrix[j];
-            if (i >= 63)
-                break;
         }
     }
     CLOSE_READER(re, &s->gb)
         }
     }
     CLOSE_READER(re, &s->gb)