diff options
author | Ronald S. Bultje <rsbultje@gmail.com> | 2011-06-16 12:04:24 -0400 |
---|---|---|
committer | Ronald Bultje <rbultje@dhcp-172-22-79-135.mtv.corp.google.com> | 2011-06-27 18:05:16 -0700 |
commit | dc179ec81902e3c9d327f9e818454f2849308000 (patch) | |
tree | d3a4df3cd24326fbf3aa95005035b7ba9fd28fe4 /libswscale/ppc/yuv2rgb_altivec.h | |
parent | 0d994b2f45c08794899057ee7ca54f48218c0a53 (diff) | |
download | ffmpeg-dc179ec81902e3c9d327f9e818454f2849308000.tar.gz |
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.h | 18 |
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 */ |