]> git.sesse.net Git - ffmpeg/commitdiff
swscale: remove indirections in ppc/swscale_template.c.
authorRonald S. Bultje <rsbultje@gmail.com>
Fri, 3 Jun 2011 02:28:56 +0000 (19:28 -0700)
committerRonald S. Bultje <rsbultje@gmail.com>
Fri, 3 Jun 2011 16:52:09 +0000 (09:52 -0700)
libswscale/ppc/swscale_altivec_template.c
libswscale/ppc/swscale_template.c [deleted file]
libswscale/ppc/yuv2rgb_altivec.c
libswscale/swscale.c

index 5a821d0abff8de4883119ff6c65e07fad97bd42c..3c31c3e1308be338046a5f7d87366fa6586bd630 100644 (file)
@@ -85,12 +85,15 @@ altivec_packIntArrayToCharArray(int *val, uint8_t* dest, int dstW)
     }
 }
 
-static inline void
-yuv2yuvX_altivec_real(const int16_t *lumFilter, const int16_t **lumSrc,
+static void
+yuv2yuvX_altivec_real(SwsContext *c,
+                      const int16_t *lumFilter, const int16_t **lumSrc,
                       int lumFilterSize, const int16_t *chrFilter,
                       const int16_t **chrUSrc, const int16_t **chrVSrc,
-                      int chrFilterSize, uint8_t *dest, uint8_t *uDest,
-                      uint8_t *vDest, int dstW, int chrDstW)
+                      int chrFilterSize, const int16_t **alpSrc,
+                      uint8_t *dest, uint8_t *uDest,
+                      uint8_t *vDest, uint8_t *aDest,
+                      int dstW, int chrDstW)
 {
     const vector signed int vini = {(1 << 18), (1 << 18), (1 << 18), (1 << 18)};
     register int i, j;
@@ -390,3 +393,17 @@ static inline void hScale_altivec_real(int16_t *dst, int dstW,
     }
     }
 }
+
+static void RENAME(sws_init_swScale)(SwsContext *c)
+{
+    c->yuv2yuvX     = yuv2yuvX_altivec_real;
+
+    /* The following list of supported dstFormat values should
+     * match what's found in the body of ff_yuv2packedX_altivec() */
+    if (!(c->flags & SWS_BITEXACT) && !c->alpPixBuf &&
+        (c->dstFormat==PIX_FMT_ABGR  || c->dstFormat==PIX_FMT_BGRA  ||
+         c->dstFormat==PIX_FMT_BGR24 || c->dstFormat==PIX_FMT_RGB24 ||
+         c->dstFormat==PIX_FMT_RGBA  || c->dstFormat==PIX_FMT_ARGB)) {
+            c->yuv2packedX  = ff_yuv2packedX_altivec;
+        }
+}
diff --git a/libswscale/ppc/swscale_template.c b/libswscale/ppc/swscale_template.c
deleted file mode 100644 (file)
index 01afe43..0000000
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * Copyright (C) 2001-2003 Michael Niedermayer <michaelni@gmx.at>
- *
- * This file is part of Libav.
- *
- * Libav is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * Libav is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with Libav; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
-
-#include "swscale_altivec_template.c"
-
-static inline void RENAME(yuv2yuvX)(SwsContext *c, const int16_t *lumFilter,
-                                    const int16_t **lumSrc, int lumFilterSize,
-                                    const int16_t *chrFilter, const int16_t **chrUSrc,
-                                    const int16_t **chrVSrc, int chrFilterSize,
-                                    const int16_t **alpSrc,
-                                    uint8_t *dest, uint8_t *uDest, uint8_t *vDest,
-                                    uint8_t *aDest, int dstW, int chrDstW)
-{
-    yuv2yuvX_altivec_real(lumFilter, lumSrc, lumFilterSize,
-                          chrFilter, chrUSrc, chrVSrc, chrFilterSize,
-                          dest, uDest, vDest, dstW, chrDstW);
-}
-
-/**
- * vertical scale YV12 to RGB
- */
-static inline void RENAME(yuv2packedX)(SwsContext *c, const int16_t *lumFilter,
-                                       const int16_t **lumSrc, int lumFilterSize,
-                                       const int16_t *chrFilter, const int16_t **chrUSrc,
-                                       const int16_t **chrVSrc, int chrFilterSize,
-                                       const int16_t **alpSrc, uint8_t *dest,
-                                       int dstW, int dstY)
-{
-    /* The following list of supported dstFormat values should
-       match what's found in the body of ff_yuv2packedX_altivec() */
-    if (!(c->flags & SWS_BITEXACT) && !c->alpPixBuf &&
-         (c->dstFormat==PIX_FMT_ABGR  || c->dstFormat==PIX_FMT_BGRA  ||
-          c->dstFormat==PIX_FMT_BGR24 || c->dstFormat==PIX_FMT_RGB24 ||
-          c->dstFormat==PIX_FMT_RGBA  || c->dstFormat==PIX_FMT_ARGB))
-            ff_yuv2packedX_altivec(c, lumFilter, lumSrc, lumFilterSize,
-                                   chrFilter, chrUSrc, chrVSrc, chrFilterSize,
-                                   dest, dstW, dstY);
-    else
-        yuv2packedXinC(c, lumFilter, lumSrc, lumFilterSize,
-                       chrFilter, chrUSrc, chrVSrc, chrFilterSize,
-                       alpSrc, dest, dstW, dstY);
-}
-
-static void RENAME(sws_init_swScale)(SwsContext *c)
-{
-    c->yuv2yuvX     = RENAME(yuv2yuvX    );
-    c->yuv2packedX  = RENAME(yuv2packedX );
-}
index 54ebee1edf0e30571c086d619a9e2fdd280caf8f..4b2bdafca0b4a058d0d52c0b062bf5e35579b86f 100644 (file)
@@ -630,7 +630,8 @@ ff_yuv2packedX_altivec(SwsContext *c, const int16_t *lumFilter,
                        const int16_t **lumSrc, int lumFilterSize,
                        const int16_t *chrFilter, const int16_t **chrUSrc,
                        const int16_t **chrVSrc, int chrFilterSize,
-                       uint8_t *dest, int dstW, int dstY)
+                       const int16_t **alpSrc, uint8_t *dest,
+                       int dstW, int dstY)
 {
     int i,j;
     vector signed short X,X0,X1,Y0,U0,V0,Y1,U1,V1,U,V;
index 5327948d3c3afa320f66b5857d9bcf76c2378ddb..f15495de360a1b27d5760608b21b022b6a5f55c2 100644 (file)
@@ -1192,7 +1192,7 @@ static inline void monoblack2Y(uint8_t *dst, const uint8_t *src, int width, uint
 #if HAVE_ALTIVEC
 #undef RENAME
 #define RENAME(a) a ## _altivec
-#include "ppc/swscale_template.c"
+#include "ppc/swscale_altivec_template.c"
 #endif
 
 //MMX versions