From 97cda6b944e210fc1c19e1a84e6741a461f9059c Mon Sep 17 00:00:00 2001 From: Luca Barbato Date: Fri, 2 Mar 2007 09:07:09 +0000 Subject: [PATCH] Many steps to avutilized this mess: DECLARE_ALIGNED Originally committed as revision 8184 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libpostproc/postprocess_altivec_template.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/libpostproc/postprocess_altivec_template.c b/libpostproc/postprocess_altivec_template.c index 3a33a58854..9dc1116e54 100644 --- a/libpostproc/postprocess_altivec_template.c +++ b/libpostproc/postprocess_altivec_template.c @@ -20,6 +20,7 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ +#include #ifdef CONFIG_DARWIN #define AVV(x...) (x) @@ -67,7 +68,7 @@ static inline int vertClassify_altivec(uint8_t src[], int stride, PPContext *c) vector by assuming (stride % 16) == 0, unfortunately this is not always true. */ - short __attribute__ ((aligned(16))) data[8]; + DECLARE_ALIGNED(16, short, data[8]); int numEq; uint8_t *src2 = src; vector signed short v_dcOffset; @@ -206,7 +207,7 @@ static inline void doVertLowPass_altivec(uint8_t *src, int stride, PPContext *c) const vector signed int zero = vec_splat_s32(0); const int properStride = (stride % 16); const int srcAlign = ((unsigned long)src2 % 16); - short __attribute__ ((aligned(16))) qp[8]; + DECLARE_ALIGNED(16, short, qp[8]); qp[0] = c->QP; vector signed short vqp = vec_ld(0, qp); vqp = vec_splat(vqp, 0); @@ -392,7 +393,7 @@ static inline void doVertDefFilter_altivec(uint8_t src[], int stride, PPContext */ uint8_t *src2 = src; const vector signed int zero = vec_splat_s32(0); - short __attribute__ ((aligned(16))) qp[8]; + DECLARE_ALIGNED(16, short, qp[8]); qp[0] = 8*c->QP; vector signed short vqp = vec_ld(0, qp); vqp = vec_splat(vqp, 0); @@ -515,7 +516,7 @@ static inline void dering_altivec(uint8_t src[], int stride, PPContext *c) { src & stride :-( */ uint8_t *srcCopy = src; - uint8_t __attribute__((aligned(16))) dt[16]; + DECLARE_ALIGNED(16, uint8_t, dt[16]); const vector signed int zero = vec_splat_s32(0); vector unsigned char v_dt; dt[0] = deringThreshold; @@ -579,7 +580,7 @@ static inline void dering_altivec(uint8_t src[], int stride, PPContext *c) { v_avg = vec_avg(v_min, v_max); } - signed int __attribute__((aligned(16))) S[8]; + DECLARE_ALIGNED(16, signed int, S[8]); { const vector unsigned short mask1 = (vector unsigned short) AVV(0x0001, 0x0002, 0x0004, 0x0008, @@ -675,7 +676,7 @@ static inline void dering_altivec(uint8_t src[], int stride, PPContext *c) { /* I'm not sure the following is actually faster than straight, unvectorized C code :-( */ - int __attribute__((aligned(16))) tQP2[4]; + DECLARE_ALIGNED(16, int, tQP2[4]); tQP2[0]= c->QP/2 + 1; vector signed int vQP2 = vec_ld(0, tQP2); vQP2 = vec_splat(vQP2, 0);