ffmpeg | branch: master | Rong Yan <rongyan...@gmail.com> | Mon Apr 27 03:19:45 
2015 +0000| [603c839398f89d3ef15c47530470fbb0051632c0] | committer: Michael 
Niedermayer

swscale/ppc/swscale_altivec.c: POWER LE support in yuv2planeX_8() delete macro 
GET_VF() it was wrong

GCC tool had a bug of PPC intrinsic interpret, which has been fixed in GCC 
4.9.1. This bug lead to
errors in two of our previous patches. We found this when we update our GCC 
tools to 4.9.1 and by
reading the related info on GCC website. We fix our previous error in two 
separate commits

Signed-off-by: Michael Niedermayer <michae...@gmx.at>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=603c839398f89d3ef15c47530470fbb0051632c0
---

 libswscale/ppc/swscale_altivec.c |   11 ++---------
 1 file changed, 2 insertions(+), 9 deletions(-)

diff --git a/libswscale/ppc/swscale_altivec.c b/libswscale/ppc/swscale_altivec.c
index 3034c72..af9fc88 100644
--- a/libswscale/ppc/swscale_altivec.c
+++ b/libswscale/ppc/swscale_altivec.c
@@ -40,19 +40,11 @@
         ls  = vec_perm(a, l2, c);\
         a = l2;\
     }
-#define  GET_VF(a, b, c,d) {\
-        a = vec_mergeh(c, d);\
-        b = vec_mergel(c, d);\
-    }
 #else
 #define  GET_LS(a,b,c,s) {\
         ls  = a;\
         a = vec_vsx_ld(((b) << 1)  + 16, s);\
     }
-#define  GET_VF(a, b, c, d) {\
-        a = vec_mergel(d, c);\
-        b = vec_mergeh(d, c);\
-    }
 #endif
 
 #define yuv2planeX_8(d1, d2, l1, src, x, perm, filter) do {\
@@ -61,7 +53,8 @@
         vector signed int   i1  = vec_mule(filter, ls);\
         vector signed int   i2  = vec_mulo(filter, ls);\
         vector signed int   vf1, vf2;\
-        GET_VF(vf1, vf2, i1, i2);\
+        vf1 = vec_mergeh(i1, i2);\
+        vf2 = vec_mergel(i1, i2);\
         d1 = vec_add(d1, vf1);\
         d2 = vec_add(d2, vf2);\
     } while (0)

_______________________________________________
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog

Reply via email to