[FFmpeg-cvslog] swscale/ppc/swscale_altivec.c: POWER LE support in yuv2planeX_8() delete macro GET_VF() it was wrong
Rong Yan
git at videolan.org
Thu May 21 21:25:47 CEST 2015
ffmpeg | branch: release/2.5 | Rong Yan <rongyan236 at gmail.com> | Mon Apr 27 03:19:45 2015 +0000| [cb63a8c646a33894f32cb098723efa5842ca0991] | 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 <michaelni at gmx.at>
(cherry picked from commit 603c839398f89d3ef15c47530470fbb0051632c0)
Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=cb63a8c646a33894f32cb098723efa5842ca0991
---
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 a1548a7..3f8cedb 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)
More information about the ffmpeg-cvslog
mailing list