summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libswscale/x86/scale.asm2
-rw-r--r--libswscale/x86/swscale_mmx.c6
2 files changed, 5 insertions, 3 deletions
diff --git a/libswscale/x86/scale.asm b/libswscale/x86/scale.asm
index 3bdf71b542..1f5e1dbf4c 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 15511c6b13..56a1dd2f37 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) { \