summaryrefslogtreecommitdiff
path: root/src/libffmpeg/libavcodec/i386/dsputil_mmx.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/libffmpeg/libavcodec/i386/dsputil_mmx.c')
-rw-r--r--src/libffmpeg/libavcodec/i386/dsputil_mmx.c12
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;