Mercurial > libavcodec.hg
diff 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 |
line wrap: on
line diff
--- a/x86/dsputil_mmx.c Fri Jun 04 01:15:41 2010 +0000 +++ b/x86/dsputil_mmx.c Fri Jun 04 04:46:26 2010 +0000 @@ -2657,6 +2657,12 @@ c->vp3_idct_dc_add = ff_vp3_idct_dc_add_mmx2; } + if (CONFIG_VP3_DECODER + && (avctx->codec_id == CODEC_ID_VP3 || avctx->codec_id == CODEC_ID_THEORA)) { + c->put_no_rnd_pixels_tab[1][1] = put_no_rnd_pixels8_x2_exact_mmx2; + c->put_no_rnd_pixels_tab[1][2] = put_no_rnd_pixels8_y2_exact_mmx2; + } + #define SET_QPEL_FUNCS(PFX, IDX, SIZE, CPU) \ c->PFX ## _pixels_tab[IDX][ 0] = PFX ## SIZE ## _mc00_ ## CPU; \ c->PFX ## _pixels_tab[IDX][ 1] = PFX ## SIZE ## _mc10_ ## CPU; \ @@ -2745,6 +2751,12 @@ c->avg_pixels_tab[1][3] = avg_pixels8_xy2_3dnow; } + if (CONFIG_VP3_DECODER + && (avctx->codec_id == CODEC_ID_VP3 || avctx->codec_id == CODEC_ID_THEORA)) { + c->put_no_rnd_pixels_tab[1][1] = put_no_rnd_pixels8_x2_exact_3dnow; + c->put_no_rnd_pixels_tab[1][2] = put_no_rnd_pixels8_y2_exact_3dnow; + } + SET_QPEL_FUNCS(put_qpel, 0, 16, 3dnow); SET_QPEL_FUNCS(put_qpel, 1, 8, 3dnow); SET_QPEL_FUNCS(put_no_rnd_qpel, 0, 16, 3dnow);