summaryrefslogtreecommitdiff
path: root/libswscale/ppc/yuv2rgb_altivec.h
diff options
context:
space:
mode:
authorRonald S. Bultje <rsbultje@gmail.com>2011-06-16 12:04:24 -0400
committerRonald Bultje <rbultje@dhcp-172-22-79-135.mtv.corp.google.com>2011-06-27 18:05:16 -0700
commitdc179ec81902e3c9d327f9e818454f2849308000 (patch)
treed3a4df3cd24326fbf3aa95005035b7ba9fd28fe4 /libswscale/ppc/yuv2rgb_altivec.h
parent0d994b2f45c08794899057ee7ca54f48218c0a53 (diff)
swscale: split yuv2packedX_altivec in smaller functions.
This will likely lead to a considerable performance boost, since it removes a branch from the inner loop. Part of the Great Evil Plan to simplify swscale.
Diffstat (limited to 'libswscale/ppc/yuv2rgb_altivec.h')
-rw-r--r--libswscale/ppc/yuv2rgb_altivec.h18
1 files changed, 13 insertions, 5 deletions
diff --git a/libswscale/ppc/yuv2rgb_altivec.h b/libswscale/ppc/yuv2rgb_altivec.h
index b54a856905..b809fe13fe 100644
--- a/libswscale/ppc/yuv2rgb_altivec.h
+++ b/libswscale/ppc/yuv2rgb_altivec.h
@@ -24,11 +24,19 @@
#ifndef PPC_YUV2RGB_ALTIVEC_H
#define PPC_YUV2RGB_ALTIVEC_H 1
-void 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,
- const int16_t **alpSrc, uint8_t *dest,
+#define YUV2PACKEDX_HEADER(suffix) \
+void ff_yuv2 ## suffix ## _X_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, \
+ const int16_t **alpSrc, uint8_t *dest, \
int dstW, int dstY);
+YUV2PACKEDX_HEADER(abgr);
+YUV2PACKEDX_HEADER(bgra);
+YUV2PACKEDX_HEADER(argb);
+YUV2PACKEDX_HEADER(rgba);
+YUV2PACKEDX_HEADER(rgb24);
+YUV2PACKEDX_HEADER(bgr24);
+
#endif /* PPC_YUV2RGB_ALTIVEC_H */