diff options
author | Alan Curry <pacman@TheWorld.com> | 2006-04-06 10:08:54 +0000 |
---|---|---|
committer | Alan Curry <pacman@TheWorld.com> | 2006-04-06 10:08:54 +0000 |
commit | 265a1ac75ef26aa01257b7c204cd94a3b651ed55 (patch) | |
tree | 6a75212134a9b256ef408572a0a16af6f64e203f | |
parent | 1c6606e2d055edeeba6d7c88559476bf742e6c57 (diff) | |
download | ffmpeg-265a1ac75ef26aa01257b7c204cd94a3b651ed55.tar.gz |
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
-rw-r--r-- | postproc/swscale_altivec_template.c | 7 |
1 files 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 */ |