Mercurial > libavcodec.hg
comparison vc1.c @ 3507:44e0a262d500 libavcodec
Set DC = 0 for skipped MB as it interferes DC prediction
author | kostya |
---|---|
date | Fri, 21 Jul 2006 04:03:56 +0000 |
parents | e0996476198b |
children | 3d6e4ef3170d |
comparison
equal
deleted
inserted
replaced
3506:e0996476198b | 3507:44e0a262d500 |
---|---|
2489 } | 2489 } |
2490 } | 2490 } |
2491 else //Skipped | 2491 else //Skipped |
2492 { | 2492 { |
2493 s->mb_intra = 0; | 2493 s->mb_intra = 0; |
2494 for(i = 0; i < 6; i++) v->mb_type[0][s->block_index[i]] = 0; | 2494 for(i = 0; i < 6; i++) { |
2495 v->mb_type[0][s->block_index[i]] = 0; | |
2496 s->dc_val[0][s->block_index[i]] = 0; | |
2497 } | |
2495 s->current_picture.mb_type[mb_pos] = MB_TYPE_SKIP; | 2498 s->current_picture.mb_type[mb_pos] = MB_TYPE_SKIP; |
2496 s->current_picture.qscale_table[mb_pos] = 0; | 2499 s->current_picture.qscale_table[mb_pos] = 0; |
2497 vc1_pred_mv(s, 0, 0, 0, 1, v->range_x, v->range_y, v->mb_type[0]); | 2500 vc1_pred_mv(s, 0, 0, 0, 1, v->range_x, v->range_y, v->mb_type[0]); |
2498 vc1_mc_1mv(v); | 2501 vc1_mc_1mv(v); |
2499 return 0; | 2502 return 0; |
2588 return status; | 2591 return status; |
2589 } | 2592 } |
2590 else //Skipped MB | 2593 else //Skipped MB |
2591 { | 2594 { |
2592 s->mb_intra = 0; | 2595 s->mb_intra = 0; |
2593 for (i=0; i<6; i++) v->mb_type[0][s->block_index[i]] = 0; | 2596 for (i=0; i<6; i++) { |
2597 v->mb_type[0][s->block_index[i]] = 0; | |
2598 s->dc_val[0][s->block_index[i]] = 0; | |
2599 } | |
2594 for (i=0; i<4; i++) | 2600 for (i=0; i<4; i++) |
2595 { | 2601 { |
2596 vc1_pred_mv(s, i, 0, 0, 0, v->range_x, v->range_y, v->mb_type[0]); | 2602 vc1_pred_mv(s, i, 0, 0, 0, v->range_x, v->range_y, v->mb_type[0]); |
2597 vc1_mc_4mv_luma(v, i); | 2603 vc1_mc_4mv_luma(v, i); |
2598 } | 2604 } |