Mercurial > libavcodec.hg
comparison x86/dsputil_mmx.c @ 11826:11c5a87497d3 libavcodec
Add bitexact versions of put_no_rnd_pixels8 _x2 and _y2 for vp3/theora
author | conrad |
---|---|
date | Fri, 04 Jun 2010 04:46:26 +0000 |
parents | f7281af560fe |
children | afee30fe8c26 |
comparison
equal
deleted
inserted
replaced
11825:c6db7667e39b | 11826:11c5a87497d3 |
---|---|
2655 } | 2655 } |
2656 if (CONFIG_VP3_DECODER) { | 2656 if (CONFIG_VP3_DECODER) { |
2657 c->vp3_idct_dc_add = ff_vp3_idct_dc_add_mmx2; | 2657 c->vp3_idct_dc_add = ff_vp3_idct_dc_add_mmx2; |
2658 } | 2658 } |
2659 | 2659 |
2660 if (CONFIG_VP3_DECODER | |
2661 && (avctx->codec_id == CODEC_ID_VP3 || avctx->codec_id == CODEC_ID_THEORA)) { | |
2662 c->put_no_rnd_pixels_tab[1][1] = put_no_rnd_pixels8_x2_exact_mmx2; | |
2663 c->put_no_rnd_pixels_tab[1][2] = put_no_rnd_pixels8_y2_exact_mmx2; | |
2664 } | |
2665 | |
2660 #define SET_QPEL_FUNCS(PFX, IDX, SIZE, CPU) \ | 2666 #define SET_QPEL_FUNCS(PFX, IDX, SIZE, CPU) \ |
2661 c->PFX ## _pixels_tab[IDX][ 0] = PFX ## SIZE ## _mc00_ ## CPU; \ | 2667 c->PFX ## _pixels_tab[IDX][ 0] = PFX ## SIZE ## _mc00_ ## CPU; \ |
2662 c->PFX ## _pixels_tab[IDX][ 1] = PFX ## SIZE ## _mc10_ ## CPU; \ | 2668 c->PFX ## _pixels_tab[IDX][ 1] = PFX ## SIZE ## _mc10_ ## CPU; \ |
2663 c->PFX ## _pixels_tab[IDX][ 2] = PFX ## SIZE ## _mc20_ ## CPU; \ | 2669 c->PFX ## _pixels_tab[IDX][ 2] = PFX ## SIZE ## _mc20_ ## CPU; \ |
2664 c->PFX ## _pixels_tab[IDX][ 3] = PFX ## SIZE ## _mc30_ ## CPU; \ | 2670 c->PFX ## _pixels_tab[IDX][ 3] = PFX ## SIZE ## _mc30_ ## CPU; \ |
2741 c->put_no_rnd_pixels_tab[0][2] = put_no_rnd_pixels16_y2_3dnow; | 2747 c->put_no_rnd_pixels_tab[0][2] = put_no_rnd_pixels16_y2_3dnow; |
2742 c->put_no_rnd_pixels_tab[1][1] = put_no_rnd_pixels8_x2_3dnow; | 2748 c->put_no_rnd_pixels_tab[1][1] = put_no_rnd_pixels8_x2_3dnow; |
2743 c->put_no_rnd_pixels_tab[1][2] = put_no_rnd_pixels8_y2_3dnow; | 2749 c->put_no_rnd_pixels_tab[1][2] = put_no_rnd_pixels8_y2_3dnow; |
2744 c->avg_pixels_tab[0][3] = avg_pixels16_xy2_3dnow; | 2750 c->avg_pixels_tab[0][3] = avg_pixels16_xy2_3dnow; |
2745 c->avg_pixels_tab[1][3] = avg_pixels8_xy2_3dnow; | 2751 c->avg_pixels_tab[1][3] = avg_pixels8_xy2_3dnow; |
2752 } | |
2753 | |
2754 if (CONFIG_VP3_DECODER | |
2755 && (avctx->codec_id == CODEC_ID_VP3 || avctx->codec_id == CODEC_ID_THEORA)) { | |
2756 c->put_no_rnd_pixels_tab[1][1] = put_no_rnd_pixels8_x2_exact_3dnow; | |
2757 c->put_no_rnd_pixels_tab[1][2] = put_no_rnd_pixels8_y2_exact_3dnow; | |
2746 } | 2758 } |
2747 | 2759 |
2748 SET_QPEL_FUNCS(put_qpel, 0, 16, 3dnow); | 2760 SET_QPEL_FUNCS(put_qpel, 0, 16, 3dnow); |
2749 SET_QPEL_FUNCS(put_qpel, 1, 8, 3dnow); | 2761 SET_QPEL_FUNCS(put_qpel, 1, 8, 3dnow); |
2750 SET_QPEL_FUNCS(put_no_rnd_qpel, 0, 16, 3dnow); | 2762 SET_QPEL_FUNCS(put_no_rnd_qpel, 0, 16, 3dnow); |