aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlan Curry <pacman@TheWorld.com>2006-04-06 10:08:54 +0000
committerAlan Curry <pacman@TheWorld.com>2006-04-06 10:08:54 +0000
commit265a1ac75ef26aa01257b7c204cd94a3b651ed55 (patch)
tree6a75212134a9b256ef408572a0a16af6f64e203f
parent1c6606e2d055edeeba6d7c88559476bf742e6c57 (diff)
downloadffmpeg-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.c7
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 */