diff options
author | Kostya Shishkov <kostya.shishkov@gmail.com> | 2006-07-21 04:03:56 +0000 |
---|---|---|
committer | Kostya Shishkov <kostya.shishkov@gmail.com> | 2006-07-21 04:03:56 +0000 |
commit | 92ad0d9d3bfcb756963f4becf0f1c566bb5d6b79 (patch) | |
tree | de641c4112cbdc8c5cdafcae618c550f50c5c80e /libavcodec/vc1.c | |
parent | b53921aabdd344086c3e45d3206107d30b00faa1 (diff) | |
download | ffmpeg-92ad0d9d3bfcb756963f4becf0f1c566bb5d6b79.tar.gz |
Set DC = 0 for skipped MB as it interferes DC prediction
Originally committed as revision 5807 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavcodec/vc1.c')
-rw-r--r-- | libavcodec/vc1.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/libavcodec/vc1.c b/libavcodec/vc1.c index aedbd773c4..a18dbfa16a 100644 --- a/libavcodec/vc1.c +++ b/libavcodec/vc1.c @@ -2491,7 +2491,10 @@ static int vc1_decode_p_mb(VC1Context *v) else //Skipped { s->mb_intra = 0; - for(i = 0; i < 6; i++) v->mb_type[0][s->block_index[i]] = 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; + } s->current_picture.mb_type[mb_pos] = MB_TYPE_SKIP; s->current_picture.qscale_table[mb_pos] = 0; vc1_pred_mv(s, 0, 0, 0, 1, v->range_x, v->range_y, v->mb_type[0]); @@ -2590,7 +2593,10 @@ static int vc1_decode_p_mb(VC1Context *v) else //Skipped MB { s->mb_intra = 0; - for (i=0; i<6; i++) v->mb_type[0][s->block_index[i]] = 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; + } for (i=0; i<4; i++) { vc1_pred_mv(s, i, 0, 0, 0, v->range_x, v->range_y, v->mb_type[0]); |