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
pull/126/head
Alan Curry 19 years ago
parent 1c6606e2d0
commit 265a1ac75e
  1. 7
      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 */

Loading…
Cancel
Save