Mercurial > libavcodec.hg
comparison vp8.c @ 12225:c3e11b3108d7 libavcodec
Eliminate a pointless memset for intra blocks in P-frames in VP8
author | darkshikari |
---|---|
date | Thu, 22 Jul 2010 12:15:29 +0000 |
parents | 5b7d690b761b |
children | 9c63566f623f |
comparison
equal
deleted
inserted
replaced
12224:5b7d690b761b | 12225:c3e11b3108d7 |
---|---|
744 switch (mb->mode) { | 744 switch (mb->mode) { |
745 case VP8_MVMODE_SPLIT: | 745 case VP8_MVMODE_SPLIT: |
746 mb->mv = mb->bmv[decode_splitmvs(s, c, mb, &best) - 1]; | 746 mb->mv = mb->bmv[decode_splitmvs(s, c, mb, &best) - 1]; |
747 break; | 747 break; |
748 case VP8_MVMODE_ZERO: | 748 case VP8_MVMODE_ZERO: |
749 mb->mv.x = 0; | 749 AV_WN32A(&mb->mv, 0); |
750 mb->mv.y = 0; | |
751 break; | 750 break; |
752 case VP8_MVMODE_NEAREST: | 751 case VP8_MVMODE_NEAREST: |
753 clamp_mv(s, &mb->mv, &near[0], mb_x, mb_y); | 752 clamp_mv(s, &mb->mv, &near[0], mb_x, mb_y); |
754 break; | 753 break; |
755 case VP8_MVMODE_NEAR: | 754 case VP8_MVMODE_NEAR: |
771 if (mb->mode == MODE_I4x4) | 770 if (mb->mode == MODE_I4x4) |
772 decode_intra4x4_modes(c, intra4x4, 4, 0); | 771 decode_intra4x4_modes(c, intra4x4, 4, 0); |
773 | 772 |
774 s->chroma_pred_mode = vp8_rac_get_tree(c, vp8_pred8x8c_tree, s->prob->pred8x8c); | 773 s->chroma_pred_mode = vp8_rac_get_tree(c, vp8_pred8x8c_tree, s->prob->pred8x8c); |
775 mb->ref_frame = VP56_FRAME_CURRENT; | 774 mb->ref_frame = VP56_FRAME_CURRENT; |
775 mb->partitioning = VP8_SPLITMVMODE_NONE; | |
776 AV_WN32A(&mb->bmv[0], 0); | |
776 } | 777 } |
777 } | 778 } |
778 | 779 |
779 /** | 780 /** |
780 * @param c arithmetic bitstream reader context | 781 * @param c arithmetic bitstream reader context |
1494 else { | 1495 else { |
1495 AV_ZERO128(s->non_zero_count_cache); // luma | 1496 AV_ZERO128(s->non_zero_count_cache); // luma |
1496 AV_ZERO64(s->non_zero_count_cache[4]); // chroma | 1497 AV_ZERO64(s->non_zero_count_cache[4]); // chroma |
1497 } | 1498 } |
1498 | 1499 |
1499 if (mb->mode <= MODE_I4x4) { | 1500 if (mb->mode <= MODE_I4x4) |
1500 intra_predict(s, dst, mb, intra4x4_mb, mb_x, mb_y); | 1501 intra_predict(s, dst, mb, intra4x4_mb, mb_x, mb_y); |
1501 memset(mb->bmv, 0, sizeof(mb->bmv)); | 1502 else |
1502 } else { | |
1503 inter_predict(s, dst, mb, mb_x, mb_y); | 1503 inter_predict(s, dst, mb, mb_x, mb_y); |
1504 } | |
1505 | 1504 |
1506 if (!mb->skip) { | 1505 if (!mb->skip) { |
1507 idct_mb(s, dst[0], dst[1], dst[2], mb); | 1506 idct_mb(s, dst[0], dst[1], dst[2], mb); |
1508 } else { | 1507 } else { |
1509 AV_ZERO64(s->left_nnz); | 1508 AV_ZERO64(s->left_nnz); |