swscale: Mark yuv2planeX_8_mmx as MMX2; it contains MMX2 instructions.
authorDiego Biurrun <diego@biurrun.de>
Wed, 14 Dec 2011 02:15:37 +0000 (03:15 +0100)
committerDiego Biurrun <diego@biurrun.de>
Wed, 14 Dec 2011 10:58:46 +0000 (11:58 +0100)
libswscale/x86/scale.asm
libswscale/x86/swscale_mmx.c

index 3bdf71b..1f5e1db 100644 (file)
@@ -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
index 15511c6..56a1dd2 100644 (file)
@@ -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) { \