diff options
Diffstat (limited to 'src/libffmpeg/libavcodec/i386/dsputil_mmx.c')
-rw-r--r-- | src/libffmpeg/libavcodec/i386/dsputil_mmx.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/src/libffmpeg/libavcodec/i386/dsputil_mmx.c b/src/libffmpeg/libavcodec/i386/dsputil_mmx.c index 15dc8eec2..772c9c1f0 100644 --- a/src/libffmpeg/libavcodec/i386/dsputil_mmx.c +++ b/src/libffmpeg/libavcodec/i386/dsputil_mmx.c @@ -2147,9 +2147,15 @@ void dsputil_init_mmx(DSPContext* c, AVCodecContext *avctx) } /* VP3 optimized DSP functions */ - c->vp3_dsp_init = vp3_dsp_init_mmx; - c->vp3_idct_put = vp3_idct_put_mmx; - c->vp3_idct_add = vp3_idct_add_mmx; + if (mm_flags & MM_SSE2) { + c->vp3_dsp_init = vp3_dsp_init_sse2; + c->vp3_idct_put = vp3_idct_put_sse2; + c->vp3_idct_add = vp3_idct_add_sse2; + } else { + c->vp3_dsp_init = vp3_dsp_init_mmx; + c->vp3_idct_put = vp3_idct_put_mmx; + c->vp3_idct_add = vp3_idct_add_mmx; + } #ifdef CONFIG_ENCODERS c->get_pixels = get_pixels_mmx; |