fixed case where abs_level > MAX_LEVEL
authorFabrice Bellard <fabrice@bellard.org>
Thu, 6 Jun 2002 14:25:44 +0000 (14:25 +0000)
committerFabrice Bellard <fabrice@bellard.org>
Thu, 6 Jun 2002 14:25:44 +0000 (14:25 +0000)
Originally committed as revision 674 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavcodec/h263.c

index c1a6af9..decddd3 100644 (file)
@@ -2956,7 +2956,7 @@ static inline int mpeg4_decode_block(MpegEncContext * s, DCTELEM * block,
 #if 1 
                     {
                         const int abs_level= ABS(level);
-                        const int run1= run - rl->max_run[last][abs_level] - 1;
+                        int run1;
                         if(abs_level<=MAX_LEVEL && run<=MAX_RUN && s->error_resilience>=0){
                             if(abs_level <= rl->max_level[last][run]){
                                 fprintf(stderr, "illegal 3. esc, vlc encoding possible\n");
@@ -2966,6 +2966,7 @@ static inline int mpeg4_decode_block(MpegEncContext * s, DCTELEM * block,
                                 fprintf(stderr, "illegal 3. esc, esc 1 encoding possible\n");
                                 return DECODING_AC_LOST;
                             }
+                            run1 = run - rl->max_run[last][abs_level] - 1;
                             if(run1 >= 0 && abs_level <= rl->max_level[last][run1]){
                                 fprintf(stderr, "illegal 3. esc, esc 2 encoding possible\n");
                                 return DECODING_AC_LOST;