OSDN Git Service

swscale: Provide the right alignment for external mmx asm
authorMartin Storsjö <martin@martin.st>
Sat, 8 Sep 2012 22:43:53 +0000 (01:43 +0300)
committerMartin Storsjö <martin@martin.st>
Sat, 8 Sep 2012 22:52:35 +0000 (01:52 +0300)
This reverts parts of e0c6cce4472. There is external mmx asm that
requires this alignment.

This fixes crashes when using swscale in builds with external mmx,
without inline assembly.

Signed-off-by: Martin Storsjö <martin@martin.st>
libswscale/utils.c

index 34e4744..0002e17 100644 (file)
@@ -1050,7 +1050,8 @@ av_cold int sws_init_context(SwsContext *c, SwsFilter *srcFilter,
         } else
 #endif /* HAVE_MMXEXT_INLINE */
         {
-            const int filterAlign = INLINE_MMX(cpu_flags)  ? 4 :
+            const int filterAlign =
+                (HAVE_MMX && cpu_flags & AV_CPU_FLAG_MMX) ? 4 :
                 (HAVE_ALTIVEC && cpu_flags & AV_CPU_FLAG_ALTIVEC) ? 8 :
                 1;
 
@@ -1073,7 +1074,8 @@ av_cold int sws_init_context(SwsContext *c, SwsFilter *srcFilter,
 
     /* precalculate vertical scaler filter coefficients */
     {
-        const int filterAlign = INLINE_MMX(cpu_flags)  ? 2 :
+        const int filterAlign =
+            (HAVE_MMX && cpu_flags & AV_CPU_FLAG_MMX) ? 2 :
             (HAVE_ALTIVEC && cpu_flags & AV_CPU_FLAG_ALTIVEC) ? 8 :
             1;