diff options
author | Kostya Shishkov <kostya.shishkov@gmail.com> | 2006-07-24 04:20:49 +0000 |
---|---|---|
committer | Kostya Shishkov <kostya.shishkov@gmail.com> | 2006-07-24 04:20:49 +0000 |
commit | c39e3c6fbb37d51d5586f1804238dddaf0427442 (patch) | |
tree | b6b04a4863cedfcc12a3219ec1fc05415eaaea0d /libavcodec | |
parent | 88b6f0faf87c70398033ff612d70b97979828c14 (diff) | |
download | ffmpeg-c39e3c6fbb37d51d5586f1804238dddaf0427442.tar.gz |
Some fixes for decode_p_mb()
Originally committed as revision 5819 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavcodec')
-rw-r--r-- | libavcodec/vc1.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/libavcodec/vc1.c b/libavcodec/vc1.c index 04b8c37437..3837487552 100644 --- a/libavcodec/vc1.c +++ b/libavcodec/vc1.c @@ -2540,7 +2540,7 @@ static int vc1_decode_p_mb(VC1Context *v) if(!coded_inter) coded_inter = !is_intra[i] & is_coded[i]; } // if there are no coded blocks then don't do anything more - if(!intra_count && !coded_inter) return; + if(!intra_count && !coded_inter) return 0; dst_idx = 0; GET_MQUANT(); s->current_picture.qscale_table[mb_pos] = mquant; @@ -2559,7 +2559,7 @@ static int vc1_decode_p_mb(VC1Context *v) else s->ac_pred = 0; } if (!v->ttmbf && coded_inter) - ttmb = get_vlc2(gb, vc1_ttmb_vlc[v->tt_index].table, VC1_TTMB_VLC_BITS, 12); + ttmb = get_vlc2(gb, vc1_ttmb_vlc[v->tt_index].table, VC1_TTMB_VLC_BITS, 2); for (i=0; i<6; i++) { dst_idx += i >> 2; @@ -2596,6 +2596,7 @@ static int vc1_decode_p_mb(VC1Context *v) else //Skipped MB { s->mb_intra = 0; + s->current_picture.qscale_table[mb_pos] = 0; for (i=0; i<6; i++) { v->mb_type[0][s->block_index[i]] = 0; s->dc_val[0][s->block_index[i]] = 0; |