|
|
@@ -627,7 +627,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) |
|
|
|
{ |
|
|
@@ -757,12 +756,6 @@ int ff_msmpeg4_decode_block(MpegEncContext * s, int16_t * block, |
|
|
|
else level= level * qmul - qadd; |
|
|
|
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); |
|
|
@@ -770,12 +763,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 */ |
|
|
@@ -785,23 +772,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; |
|
|
|