---
 libswscale/x86/scale.asm     |    2 +-
 libswscale/x86/swscale_mmx.c |    6 ++++--
 2 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/libswscale/x86/scale.asm b/libswscale/x86/scale.asm
index 3bdf71b..1f5e1db 100644
--- a/libswscale/x86/scale.asm
+++ b/libswscale/x86/scale.asm
@@ -649,7 +649,7 @@ cglobal yuv2planeX_%2_%1, %4, 7, %3
 %define PALIGNR PALIGNR_MMX
 %ifdef ARCH_X86_32
 INIT_MMX
-yuv2planeX_fn mmx,   8,  0, 7
+yuv2planeX_fn mmx2,  8,  0, 7
 yuv2planeX_fn mmx2,  9,  0, 5
 yuv2planeX_fn mmx2, 10,  0, 5
 %endif
diff --git a/libswscale/x86/swscale_mmx.c b/libswscale/x86/swscale_mmx.c
index 15511c6..56a1dd2 100644
--- a/libswscale/x86/swscale_mmx.c
+++ b/libswscale/x86/swscale_mmx.c
@@ -221,7 +221,7 @@ extern void ff_yuv2planeX_ ## size ## _ ## opt(const 
int16_t *filter, int filter
     VSCALEX_FUNC(10, opt2)
 
 #if ARCH_X86_32
-VSCALEX_FUNCS(mmx,  mmx2);
+VSCALEX_FUNCS(mmx2, mmx2);
 #endif
 VSCALEX_FUNCS(sse2, sse2);
 VSCALEX_FUNCS(sse4, sse4);
@@ -295,9 +295,11 @@ switch(c->dstBpc){ \
     if (cpu_flags & AV_CPU_FLAG_MMX) {
         ASSIGN_MMX_SCALE_FUNC(c->hyScale, c->hLumFilterSize, mmx, mmx);
         ASSIGN_MMX_SCALE_FUNC(c->hcScale, c->hChrFilterSize, mmx, mmx);
-        ASSIGN_VSCALEX_FUNC(c->yuv2planeX, mmx, mmx2, cpu_flags & 
AV_CPU_FLAG_MMX2,);
         ASSIGN_VSCALE_FUNC(c->yuv2plane1, mmx, mmx2, cpu_flags & 
AV_CPU_FLAG_MMX2);
     }
+    if (cpu_flags & AV_CPU_FLAG_MMX2) {
+        ASSIGN_VSCALEX_FUNC(c->yuv2planeX, mmx2, mmx2, cpu_flags & 
AV_CPU_FLAG_MMX2,);
+    }
 #endif
 #define ASSIGN_SSE_SCALE_FUNC(hscalefn, filtersize, opt1, opt2) \
     switch (filtersize) { \
-- 
1.7.2.5

_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to