X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavcodec%2Fmsmpeg4dec.c;h=77e8509f9dc2a632f7493f507bc490e1d78bfad2;hb=45f5c5573203a48acb2dd6fbf18f4b0c25b7aff0;hp=2f908770e308e01a25b706f3c1643d94336b9083;hpb=b4abf0e396d8978439c0676f62780abe5a5e64dc;p=ffmpeg diff --git a/libavcodec/msmpeg4dec.c b/libavcodec/msmpeg4dec.c index 2f908770e30..77e8509f9dc 100644 --- a/libavcodec/msmpeg4dec.c +++ b/libavcodec/msmpeg4dec.c @@ -638,7 +638,6 @@ static int msmpeg4_decode_dc(MpegEncContext * s, int n, int *dir_ptr) return level; } -//#define ERROR_DETAILS int ff_msmpeg4_decode_block(MpegEncContext * s, int16_t * block, int n, int coded, const uint8_t *scan_table) { @@ -762,43 +761,11 @@ int ff_msmpeg4_decode_block(MpegEncContext * s, int16_t * block, if(sign) level= -level; } -#if 0 // waste of time / this will detect very few errors - { - const int abs_level= FFABS(level); - const int run1= run - rl->max_run[last][abs_level] - run_diff; - if(abs_level<=MAX_LEVEL && run<=MAX_RUN){ - if(abs_level <= rl->max_level[last][run]){ - av_log(s->avctx, AV_LOG_ERROR, "illegal 3. esc, vlc encoding possible\n"); - return DECODING_AC_LOST; - } - if(abs_level <= rl->max_level[last][run]*2){ - av_log(s->avctx, AV_LOG_ERROR, "illegal 3. esc, esc 1 encoding possible\n"); - return DECODING_AC_LOST; - } - if(run1>=0 && abs_level <= rl->max_level[last][run1]){ - av_log(s->avctx, AV_LOG_ERROR, "illegal 3. esc, esc 2 encoding possible\n"); - return DECODING_AC_LOST; - } - } - } -#endif //level = level * qmul + (level>0) * qadd - (level<=0) * qadd ; if (level>0) level= level * qmul + qadd; else level= level * qmul - qadd; -#if 0 // waste of time too :( - if(level>2048 || level<-2048){ - av_log(s->avctx, AV_LOG_ERROR, "|level| overflow in 3. esc\n"); - return DECODING_AC_LOST; - } -#endif i+= run + 1; if(last) i+=192; -#ifdef ERROR_DETAILS - if(run==66) - av_log(s->avctx, AV_LOG_ERROR, "illegal vlc code in ESC3 level=%d\n", level); - else if((i>62 && i<192) || i>192+63) - av_log(s->avctx, AV_LOG_ERROR, "run overflow in ESC3 i=%d run=%d level=%d\n", i, run, level); -#endif } else { /* second escape */ SKIP_BITS(re, &s->gb, 2); @@ -806,12 +773,6 @@ int ff_msmpeg4_decode_block(MpegEncContext * s, int16_t * block, i+= run + rl->max_run[run>>7][level/qmul] + run_diff; //FIXME opt indexing level = (level ^ SHOW_SBITS(re, &s->gb, 1)) - SHOW_SBITS(re, &s->gb, 1); LAST_SKIP_BITS(re, &s->gb, 1); -#ifdef ERROR_DETAILS - if(run==66) - av_log(s->avctx, AV_LOG_ERROR, "illegal vlc code in ESC2 level=%d\n", level); - else if((i>62 && i<192) || i>192+63) - av_log(s->avctx, AV_LOG_ERROR, "run overflow in ESC2 i=%d run=%d level=%d\n", i, run, level); -#endif } } else { /* first escape */ @@ -821,23 +782,11 @@ int ff_msmpeg4_decode_block(MpegEncContext * s, int16_t * block, level = level + rl->max_level[run>>7][(run-1)&63] * qmul;//FIXME opt indexing level = (level ^ SHOW_SBITS(re, &s->gb, 1)) - SHOW_SBITS(re, &s->gb, 1); LAST_SKIP_BITS(re, &s->gb, 1); -#ifdef ERROR_DETAILS - if(run==66) - av_log(s->avctx, AV_LOG_ERROR, "illegal vlc code in ESC1 level=%d\n", level); - else if((i>62 && i<192) || i>192+63) - av_log(s->avctx, AV_LOG_ERROR, "run overflow in ESC1 i=%d run=%d level=%d\n", i, run, level); -#endif } } else { i+= run; level = (level ^ SHOW_SBITS(re, &s->gb, 1)) - SHOW_SBITS(re, &s->gb, 1); LAST_SKIP_BITS(re, &s->gb, 1); -#ifdef ERROR_DETAILS - if(run==66) - av_log(s->avctx, AV_LOG_ERROR, "illegal vlc code level=%d\n", level); - else if((i>62 && i<192) || i>192+63) - av_log(s->avctx, AV_LOG_ERROR, "run overflow i=%d run=%d level=%d\n", i, run, level); -#endif } if (i > 62){ i-= 192;