Proper fix for the corner case that would have been corrected before, praise&blame...
authorLuca Barbato <lu_zero@gentoo.org>
Thu, 31 Aug 2006 15:44:37 +0000 (15:44 +0000)
committerLuca Barbato <lu_zero@gentoo.org>
Thu, 31 Aug 2006 15:44:37 +0000 (15:44 +0000)
Originally committed as revision 6143 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavcodec/ppc/float_altivec.c
libavcodec/ppc/h264_altivec.c

index dfb42d9..9e9c4df 100644 (file)
@@ -138,10 +138,10 @@ static void vector_fmul_add_add_altivec(float *dst, const float *src0,
             s2 = vec_ld(0, src2+i);
             edges = vec_perm(t1 ,t0, mask);
             d = vec_madd(s0,s1,s2);
-            t0 = vec_perm(d, edges, align);
-            t1 = vec_perm(edges, d, align);
-            vec_st(t0, 0, dst+i);
+            t1 = vec_perm(d, edges, align);
+            t0 = vec_perm(edges, d, align);
             vec_st(t1, 15, dst+i);
+            vec_st(t0, 0, dst+i);
             t0 = t1;
         }
     else
index dced43b..6caf4c1 100644 (file)
@@ -207,11 +207,11 @@ static inline void put_pixels16_l2_altivec( uint8_t * dst, const uint8_t * src1,
 
         align = vec_lvsr(0, dst);
 
-        tmp1 = vec_perm(edges, d, align);
         tmp2 = vec_perm(d, edges, align);
+        tmp1 = vec_perm(edges, d, align);
 
-        vec_st(tmp1, 0 , dst);
         vec_st(tmp2, 15, dst);
+        vec_st(tmp1, 0 , dst);
 
         dst += dst_stride;
     }
@@ -249,11 +249,11 @@ static inline void avg_pixels16_l2_altivec( uint8_t * dst, const uint8_t * src1,
 
         align = vec_lvsr(0, dst);
 
-        tmp1 = vec_perm(edges, d, align);
         tmp2 = vec_perm(d, edges, align);
+        tmp1 = vec_perm(edges, d, align);
 
-        vec_st(tmp1, 0 , dst);
         vec_st(tmp2, 15, dst);
+        vec_st(tmp1, 0 , dst);
 
         dst += dst_stride;
     }