changeset 18046:a0ab6fed1d14

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.
author pacman
date Thu, 06 Apr 2006 10:08:54 +0000
parents 452996e2628c
children a597ca1c0adc
files postproc/swscale_altivec_template.c
diffstat 1 files changed, 3 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/postproc/swscale_altivec_template.c	Thu Apr 06 03:27:20 2006 +0000
+++ b/postproc/swscale_altivec_template.c	Thu Apr 06 10:08:54 2006 +0000
@@ -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 */