aboutsummaryrefslogtreecommitdiffstats
path: root/libswscale/ppc/yuv2rgb_altivec.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2011-05-28 15:52:50 +0200
committerMichael Niedermayer <michaelni@gmx.at>2011-05-29 02:13:36 +0200
commit986f0d86cbdc92f46e5fbba05fb29526b76162be (patch)
tree6f1a2fd291a6930528a806c9b68c530f9d22f392 /libswscale/ppc/yuv2rgb_altivec.c
parentea535ed50d1b8d751e2d194a987295ab38daf1a2 (diff)
downloadffmpeg-986f0d86cbdc92f46e5fbba05fb29526b76162be.tar.gz
Commits that could not be pulled earlier due to bugs.
commit 93681fbd5082a3af896b7a730dacdd27a3052406 Author: Ronald S. Bultje <rsbultje@gmail.com> Date: Thu May 26 11:32:32 2011 -0400 swscale: fix compile on ppc. commit e758573a887cfb1155e81499ca54f433127cf24e Author: Ronald S. Bultje <rsbultje@gmail.com> Date: Thu May 26 10:36:47 2011 -0400 swscale: fix compile on x86-32. commit 0f4eb8b04341081591bf401eaa2c07d6bc3ff52e Author: Ronald S. Bultje <rsbultje@gmail.com> Date: Thu May 26 09:17:52 2011 -0400 swscale: remove VOF/VOFW. commit b4a224c5e4109cb2cca8bac38628673d685fe763 Author: Ronald S. Bultje <rsbultje@gmail.com> Date: Wed May 25 14:30:09 2011 -0400 swscale: split chroma buffers into separate U/V planes. Preparatory step to implement support for sizes > VOFW.
Diffstat (limited to 'libswscale/ppc/yuv2rgb_altivec.c')
-rw-r--r--libswscale/ppc/yuv2rgb_altivec.c17
1 files changed, 9 insertions, 8 deletions
diff --git a/libswscale/ppc/yuv2rgb_altivec.c b/libswscale/ppc/yuv2rgb_altivec.c
index 09b72ae846..45d4ca7347 100644
--- a/libswscale/ppc/yuv2rgb_altivec.c
+++ b/libswscale/ppc/yuv2rgb_altivec.c
@@ -778,10 +778,11 @@ void ff_yuv2rgb_init_tables_altivec(SwsContext *c, const int inv_table[4], int b
void
-ff_yuv2packedX_altivec(SwsContext *c,
- const int16_t *lumFilter, const int16_t **lumSrc, int lumFilterSize,
- const int16_t *chrFilter, const int16_t **chrSrc, int chrFilterSize,
- uint8_t *dest, int dstW, int dstY)
+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)
{
int i,j;
vector signed short X,X0,X1,Y0,U0,V0,Y1,U1,V1,U,V;
@@ -816,9 +817,9 @@ ff_yuv2packedX_altivec(SwsContext *c,
V = RND;
/* extract 8 coeffs from U,V */
for (j=0; j<chrFilterSize; j++) {
- X = vec_ld (0, &chrSrc[j][i/2]);
+ X = vec_ld (0, &chrUSrc[j][i/2]);
U = vec_mradds (X, CCoeffs[j], U);
- X = vec_ld (0, &chrSrc[j][i/2+VOFW]);
+ X = vec_ld (0, &chrVSrc[j][i/2]);
V = vec_mradds (X, CCoeffs[j], V);
}
@@ -894,9 +895,9 @@ ff_yuv2packedX_altivec(SwsContext *c,
V = RND;
/* extract 8 coeffs from U,V */
for (j=0; j<chrFilterSize; j++) {
- X = vec_ld (0, &chrSrc[j][i/2]);
+ X = vec_ld (0, &chrUSrc[j][i/2]);
U = vec_mradds (X, CCoeffs[j], U);
- X = vec_ld (0, &chrSrc[j][i/2+VOFW]);
+ X = vec_ld (0, &chrVSrc[j][i/2]);
V = vec_mradds (X, CCoeffs[j], V);
}