From 265a1ac75ef26aa01257b7c204cd94a3b651ed55 Mon Sep 17 00:00:00 2001 From: Alan Curry Date: Thu, 6 Apr 2006 10:08:54 +0000 Subject: [PATCH] Reorganize vector constants to work around gcc 4.1 bug: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27006 This bug caused certain movies (444P or RGB/BGR-based) to become brighter and more purple when played on a YV12 vo. Originally committed as revision 18047 to svn://svn.mplayerhq.hu/mplayer/trunk/postproc --- postproc/swscale_altivec_template.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/postproc/swscale_altivec_template.c b/postproc/swscale_altivec_template.c index a466c026ff..d4a38201f1 100644 --- a/postproc/swscale_altivec_template.c +++ b/postproc/swscale_altivec_template.c @@ -26,14 +26,13 @@ #define AVV(x...) {x} #endif -static const vector signed int vzero = - (const vector signed int)AVV(0, 0, 0, 0); -static const vector unsigned int altivec_vectorShiftInt19 = - (const vector unsigned int)AVV(19, 19, 19, 19); +#define vzero vec_splat_s32(0) static inline void altivec_packIntArrayToCharArray(int *val, uint8_t* dest, int dstW) { register int i; + vector unsigned int altivec_vectorShiftInt19 = + vec_add(vec_splat_u32(10),vec_splat_u32(9)); if ((unsigned long)dest % 16) { /* badly aligned store, we force store alignement */ /* and will handle load misalignement on val w/ vec_perm */