diff options
author | David Conrad <lessen42@gmail.com> | 2010-06-04 04:46:26 +0000 |
---|---|---|
committer | David Conrad <lessen42@gmail.com> | 2010-06-04 04:46:26 +0000 |
commit | 413abbe16465a7b49472ac110e42939e853e24a1 (patch) | |
tree | da789212b4e9bd916d42005ef41801db220424a8 /libavcodec/x86/dsputil_mmx.c | |
parent | 784824a68c00d95dd81085483950b92203345a65 (diff) | |
download | ffmpeg-413abbe16465a7b49472ac110e42939e853e24a1.tar.gz |
Add bitexact versions of put_no_rnd_pixels8 _x2 and _y2 for vp3/theora
Originally committed as revision 23463 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavcodec/x86/dsputil_mmx.c')
-rw-r--r-- | libavcodec/x86/dsputil_mmx.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/libavcodec/x86/dsputil_mmx.c b/libavcodec/x86/dsputil_mmx.c index cc2f881303..cbdf0174d4 100644 --- a/libavcodec/x86/dsputil_mmx.c +++ b/libavcodec/x86/dsputil_mmx.c @@ -2657,6 +2657,12 @@ void dsputil_init_mmx(DSPContext* c, AVCodecContext *avctx) 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 @@ void dsputil_init_mmx(DSPContext* c, AVCodecContext *avctx) 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); |