diff --git a/libavcodec/msmpeg4.c b/libavcodec/msmpeg4.c index 2d5d3dd23b..c8df0c4153 100644 --- a/libavcodec/msmpeg4.c +++ b/libavcodec/msmpeg4.c @@ -868,9 +868,10 @@ static int msmpeg4_decode_block(MpegEncContext * s, DCTELEM * block, if (code < 0 || code >= rl->n) return -1; run = rl->table_run[code]; - level = rl->table_level[code] * qmul + qadd; + level = rl->table_level[code]; last = code >= rl->last; run += rl->max_run[last][level] + run_diff; + level= level * qmul + qadd; if (get_bits1(&s->gb)) level = -level; }