From ae23809184c98a59433a82a4f99f3590648db70d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Storsj=C3=B6?= Date: Wed, 19 Mar 2014 14:50:38 +0200 Subject: [PATCH] float_dsp: Use LOCAL_ALIGNED for instead of DECLARE_ALIGNED within functions MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This fixes fate-float_dsp-test on RVCT 4.0. Signed-off-by: Martin Storsjö --- libavutil/float_dsp.c | 48 ++++++++++++++++++++++--------------------- 1 file changed, 25 insertions(+), 23 deletions(-) diff --git a/libavutil/float_dsp.c b/libavutil/float_dsp.c index 23468ad0b9..03c8c11021 100644 --- a/libavutil/float_dsp.c +++ b/libavutil/float_dsp.c @@ -143,7 +143,9 @@ av_cold void avpriv_float_dsp_init(AVFloatDSPContext *fdsp, int bit_exact) #include #include +#include "common.h" #include "cpu.h" +#include "internal.h" #include "lfg.h" #include "log.h" #include "mem.h" @@ -206,8 +208,8 @@ static int compare_doubles(const double *a, const double *b, int len, static int test_vector_fmul(AVFloatDSPContext *fdsp, AVFloatDSPContext *cdsp, const float *v1, const float *v2) { - DECLARE_ALIGNED(32, float, cdst)[LEN]; - DECLARE_ALIGNED(32, float, odst)[LEN]; + LOCAL_ALIGNED(32, float, cdst, [LEN]); + LOCAL_ALIGNED(32, float, odst, [LEN]); int ret; cdsp->vector_fmul(cdst, v1, v2, LEN); @@ -223,8 +225,8 @@ static int test_vector_fmul(AVFloatDSPContext *fdsp, AVFloatDSPContext *cdsp, static int test_vector_fmac_scalar(AVFloatDSPContext *fdsp, AVFloatDSPContext *cdsp, const float *v1, const float *src0, float scale) { - DECLARE_ALIGNED(32, float, cdst)[LEN]; - DECLARE_ALIGNED(32, float, odst)[LEN]; + LOCAL_ALIGNED(32, float, cdst, [LEN]); + LOCAL_ALIGNED(32, float, odst, [LEN]); int ret; memcpy(cdst, v1, LEN * sizeof(*v1)); @@ -242,8 +244,8 @@ static int test_vector_fmac_scalar(AVFloatDSPContext *fdsp, AVFloatDSPContext *c static int test_vector_fmul_scalar(AVFloatDSPContext *fdsp, AVFloatDSPContext *cdsp, const float *v1, float scale) { - DECLARE_ALIGNED(32, float, cdst)[LEN]; - DECLARE_ALIGNED(32, float, odst)[LEN]; + LOCAL_ALIGNED(32, float, cdst, [LEN]); + LOCAL_ALIGNED(32, float, odst, [LEN]); int ret; cdsp->vector_fmul_scalar(cdst, v1, scale, LEN); @@ -258,8 +260,8 @@ static int test_vector_fmul_scalar(AVFloatDSPContext *fdsp, AVFloatDSPContext *c static int test_vector_dmul_scalar(AVFloatDSPContext *fdsp, AVFloatDSPContext *cdsp, const double *v1, double scale) { - DECLARE_ALIGNED(32, double, cdst)[LEN]; - DECLARE_ALIGNED(32, double, odst)[LEN]; + LOCAL_ALIGNED(32, double, cdst, [LEN]); + LOCAL_ALIGNED(32, double, odst, [LEN]); int ret; cdsp->vector_dmul_scalar(cdst, v1, scale, LEN); @@ -275,8 +277,8 @@ static int test_vector_dmul_scalar(AVFloatDSPContext *fdsp, AVFloatDSPContext *c static int test_vector_fmul_window(AVFloatDSPContext *fdsp, AVFloatDSPContext *cdsp, const float *v1, const float *v2, const float *v3) { - DECLARE_ALIGNED(32, float, cdst)[LEN]; - DECLARE_ALIGNED(32, float, odst)[LEN]; + LOCAL_ALIGNED(32, float, cdst, [LEN]); + LOCAL_ALIGNED(32, float, odst, [LEN]); int ret; cdsp->vector_fmul_window(cdst, v1, v2, v3, LEN / 2); @@ -292,8 +294,8 @@ static int test_vector_fmul_window(AVFloatDSPContext *fdsp, AVFloatDSPContext *c static int test_vector_fmul_add(AVFloatDSPContext *fdsp, AVFloatDSPContext *cdsp, const float *v1, const float *v2, const float *v3) { - DECLARE_ALIGNED(32, float, cdst)[LEN]; - DECLARE_ALIGNED(32, float, odst)[LEN]; + LOCAL_ALIGNED(32, float, cdst, [LEN]); + LOCAL_ALIGNED(32, float, odst, [LEN]); int ret; cdsp->vector_fmul_add(cdst, v1, v2, v3, LEN); @@ -308,8 +310,8 @@ static int test_vector_fmul_add(AVFloatDSPContext *fdsp, AVFloatDSPContext *cdsp static int test_vector_fmul_reverse(AVFloatDSPContext *fdsp, AVFloatDSPContext *cdsp, const float *v1, const float *v2) { - DECLARE_ALIGNED(32, float, cdst)[LEN]; - DECLARE_ALIGNED(32, float, odst)[LEN]; + LOCAL_ALIGNED(32, float, cdst, [LEN]); + LOCAL_ALIGNED(32, float, odst, [LEN]); int ret; cdsp->vector_fmul_reverse(cdst, v1, v2, LEN); @@ -324,10 +326,10 @@ static int test_vector_fmul_reverse(AVFloatDSPContext *fdsp, AVFloatDSPContext * static int test_butterflies_float(AVFloatDSPContext *fdsp, AVFloatDSPContext *cdsp, const float *v1, const float *v2) { - DECLARE_ALIGNED(32, float, cv1)[LEN]; - DECLARE_ALIGNED(32, float, cv2)[LEN]; - DECLARE_ALIGNED(32, float, ov1)[LEN]; - DECLARE_ALIGNED(32, float, ov2)[LEN]; + LOCAL_ALIGNED(32, float, cv1, [LEN]); + LOCAL_ALIGNED(32, float, cv2, [LEN]); + LOCAL_ALIGNED(32, float, ov1, [LEN]); + LOCAL_ALIGNED(32, float, ov2, [LEN]); int ret; memcpy(cv1, v1, LEN * sizeof(*v1)); @@ -368,11 +370,11 @@ int main(int argc, char **argv) AVFloatDSPContext fdsp, cdsp; AVLFG lfg; - DECLARE_ALIGNED(32, float, src0)[LEN]; - DECLARE_ALIGNED(32, float, src1)[LEN]; - DECLARE_ALIGNED(32, float, src2)[LEN]; - DECLARE_ALIGNED(32, double, dbl_src0)[LEN]; - DECLARE_ALIGNED(32, double, dbl_src1)[LEN]; + LOCAL_ALIGNED(32, float, src0, [LEN]); + LOCAL_ALIGNED(32, float, src1, [LEN]); + LOCAL_ALIGNED(32, float, src2, [LEN]); + LOCAL_ALIGNED(32, double, dbl_src0, [LEN]); + LOCAL_ALIGNED(32, double, dbl_src1, [LEN]); if (argc > 2 && !strcmp(argv[1], "-s")) seed = strtoul(argv[2], NULL, 10);