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);