]> granicus.if.org Git - libx264/commitdiff
fix conversions between vectors with differing element types or numbers of subparts...
authorGuillaume Poirier <gpoirier@mplayerhq.hu>
Tue, 21 Apr 2009 15:32:21 +0000 (17:32 +0200)
committerGuillaume Poirier <gpoirier@mplayerhq.hu>
Tue, 21 Apr 2009 15:32:21 +0000 (17:32 +0200)
common/ppc/pixel.c

index 51205442d2b9d49540a7ad49712748ff765501ce..2f7082a9ccffe533c975e11c2e9e87973ec29de8 100644 (file)
@@ -1905,7 +1905,7 @@ static uint64_t pixel_hadamard_ac_altivec( uint8_t *pix, int stride, const vec_u
     vec_u16_t addabs67 = vec_add( VEC_ABSOLUTE(pix16_d6), VEC_ABSOLUTE(pix16_d7) );
 
     vec_u16_t sum4_v = vec_add(vec_add(addabs01, addabs23), vec_add(addabs45, addabs67));
-    vec_ste(vec_sums(vec_sum4s(sum4_v, zero_s32v), zero_s32v), 12, sum4_tab);
+    vec_ste(vec_sums(vec_sum4s((vec_s16_t)sum4_v, zero_s32v), zero_s32v), 12, sum4_tab);
 
     vec_s16_t tmpi0 = vec_add(pix16_d0, pix16_d4);
     vec_s16_t tmpi4 = vec_sub(pix16_d0, pix16_d4);
@@ -1933,7 +1933,7 @@ static uint64_t pixel_hadamard_ac_altivec( uint8_t *pix, int stride, const vec_u
                                   VEC_ABSOLUTE( vec_sub(pix16_d3, pix16_d7) ) );
 
     vec_u16_t sum8_v = vec_add( vec_add(addsum04, addsum15), vec_add(addsum26, addsum37) );
-    vec_ste(vec_sums( vec_sum4s(sum8_v, zero_s32v), zero_s32v), 12, sum8_tab);
+    vec_ste(vec_sums(vec_sum4s((vec_s16_t)sum8_v, zero_s32v), zero_s32v), 12, sum8_tab);
 
     int sum8 = sum8_tab[3];