Fix compilation on PPC with some recent GCCs
authorManuel Rommel <maaanuuu@gmx.net>
Sun, 31 Oct 2010 18:19:10 +0000 (19:19 +0100)
committerJason Garrett-Glaser <darkshikari@gmail.com>
Sun, 31 Oct 2010 18:26:47 +0000 (11:26 -0700)
common/ppc/dct.c
common/ppc/mc.c

index e7b46a6..723aee5 100644 (file)
@@ -91,14 +91,14 @@ void x264_sub8x8_dct_altivec( int16_t dct[4][16], uint8_t *pix1, uint8_t *pix2 )
     VEC_DCT( dct0v, dct1v, dct2v, dct3v, tmp0v, tmp1v, tmp2v, tmp3v );
     VEC_DCT( dct4v, dct5v, dct6v, dct7v, tmp4v, tmp5v, tmp6v, tmp7v );
 
-    vec_st(vec_perm(tmp0v, tmp1v, permHighv), 0,   dct);
-    vec_st(vec_perm(tmp2v, tmp3v, permHighv), 16,  dct);
-    vec_st(vec_perm(tmp4v, tmp5v, permHighv), 32,  dct);
-    vec_st(vec_perm(tmp6v, tmp7v, permHighv), 48,  dct);
-    vec_st(vec_perm(tmp0v, tmp1v, permLowv),  64,  dct);
-    vec_st(vec_perm(tmp2v, tmp3v, permLowv),  80,  dct);
-    vec_st(vec_perm(tmp4v, tmp5v, permLowv),  96,  dct);
-    vec_st(vec_perm(tmp6v, tmp7v, permLowv),  112, dct);
+    vec_st(vec_perm(tmp0v, tmp1v, permHighv), 0,   *dct);
+    vec_st(vec_perm(tmp2v, tmp3v, permHighv), 16,  *dct);
+    vec_st(vec_perm(tmp4v, tmp5v, permHighv), 32,  *dct);
+    vec_st(vec_perm(tmp6v, tmp7v, permHighv), 48,  *dct);
+    vec_st(vec_perm(tmp0v, tmp1v, permLowv),  64,  *dct);
+    vec_st(vec_perm(tmp2v, tmp3v, permLowv),  80,  *dct);
+    vec_st(vec_perm(tmp4v, tmp5v, permLowv),  96,  *dct);
+    vec_st(vec_perm(tmp6v, tmp7v, permLowv),  112, *dct);
 }
 
 void x264_sub16x16_dct_altivec( int16_t dct[16][16], uint8_t *pix1, uint8_t *pix2 )
index 4b085eb..4c64a0c 100644 (file)
@@ -460,8 +460,8 @@ static void mc_chroma_altivec_8xh( uint8_t *dstu, uint8_t *dstv, int i_dst_strid
         dstv_16h = vec_sr( dstv_16h, shiftv );
         dstv_16l = vec_sr( dstv_16l, shiftv );
 
-        dstuv = vec_perm( dstv_16h, dstv_16l, perm0v );
-        dstvv = vec_perm( dstv_16h, dstv_16l, perm1v );
+        dstuv = (vec_u8_t)vec_perm( dstv_16h, dstv_16l, perm0v );
+        dstvv = (vec_u8_t)vec_perm( dstv_16h, dstv_16l, perm1v );
 
         VEC_STORE8( dstuv, dstu );
         VEC_STORE8( dstvv, dstv );
@@ -498,8 +498,8 @@ static void mc_chroma_altivec_8xh( uint8_t *dstu, uint8_t *dstv, int i_dst_strid
         dstv_16h = vec_sr( dstv_16h, shiftv );
         dstv_16l = vec_sr( dstv_16l, shiftv );
 
-        dstuv = vec_perm( dstv_16h, dstv_16l, perm0v );
-        dstvv = vec_perm( dstv_16h, dstv_16l, perm1v );
+        dstuv = (vec_u8_t)vec_perm( dstv_16h, dstv_16l, perm0v );
+        dstvv = (vec_u8_t)vec_perm( dstv_16h, dstv_16l, perm1v );
 
         VEC_STORE8( dstuv, dstu );
         VEC_STORE8( dstvv, dstv );