diff options
author | Ronald S. Bultje <rsbultje@gmail.com> | 2013-01-20 13:20:30 -0800 |
---|---|---|
committer | Ronald S. Bultje <rsbultje@gmail.com> | 2013-01-22 11:55:42 -0800 |
commit | 42d324694883cdf1fff1612ac70fa403692a1ad4 (patch) | |
tree | 99b6a8629388614ec2395c847b79a2c448583341 /libavcodec/ppc | |
parent | 55aa03b9f8f11ebb7535424cc0e5635558590f49 (diff) | |
download | ffmpeg-42d324694883cdf1fff1612ac70fa403692a1ad4.tar.gz |
floatdsp: move vector_fmul_reverse from dsputil to avfloatdsp.
Now, nellymoserenc and aacenc no longer depends on dsputil. Independent
of this patch, wmaprodec also does not depend on dsputil, so I removed
it from there also.
Diffstat (limited to 'libavcodec/ppc')
-rw-r--r-- | libavcodec/ppc/Makefile | 1 | ||||
-rw-r--r-- | libavcodec/ppc/dsputil_ppc.c | 1 | ||||
-rw-r--r-- | libavcodec/ppc/float_altivec.c | 57 |
3 files changed, 0 insertions, 59 deletions
diff --git a/libavcodec/ppc/Makefile b/libavcodec/ppc/Makefile index e1ebf26d0f..cdc6435be1 100644 --- a/libavcodec/ppc/Makefile +++ b/libavcodec/ppc/Makefile @@ -15,7 +15,6 @@ ALTIVEC-OBJS-$(CONFIG_VP8_DECODER) += ppc/vp8dsp_altivec.o ALTIVEC-OBJS += ppc/dsputil_altivec.o \ ppc/fdct_altivec.o \ - ppc/float_altivec.o \ ppc/fmtconvert_altivec.o \ ppc/gmc_altivec.o \ ppc/idct_altivec.o \ diff --git a/libavcodec/ppc/dsputil_ppc.c b/libavcodec/ppc/dsputil_ppc.c index a3069402da..24dbb8c10e 100644 --- a/libavcodec/ppc/dsputil_ppc.c +++ b/libavcodec/ppc/dsputil_ppc.c @@ -160,7 +160,6 @@ void ff_dsputil_init_ppc(DSPContext* c, AVCodecContext *avctx) if (av_get_cpu_flags() & AV_CPU_FLAG_ALTIVEC) { ff_dsputil_init_altivec(c, avctx); - ff_float_init_altivec(c, avctx); ff_int_init_altivec(c, avctx); c->gmc1 = ff_gmc1_altivec; diff --git a/libavcodec/ppc/float_altivec.c b/libavcodec/ppc/float_altivec.c deleted file mode 100644 index e336cbed5f..0000000000 --- a/libavcodec/ppc/float_altivec.c +++ /dev/null @@ -1,57 +0,0 @@ -/* - * Copyright (c) 2006 Luca Barbato <lu_zero@gentoo.org> - * - * This file is part of Libav. - * - * Libav is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * Libav is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with Libav; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - */ - -#include "libavutil/ppc/util_altivec.h" -#include "libavcodec/dsputil.h" - -#include "dsputil_altivec.h" - -static void vector_fmul_reverse_altivec(float *dst, const float *src0, - const float *src1, int len) -{ - int i; - vector float d, s0, s1, h0, l0, - s2, s3, zero = (vector float)vec_splat_u32(0); - src1 += len-4; - for(i=0; i<len-7; i+=8) { - s1 = vec_ld(0, src1-i); // [a,b,c,d] - s0 = vec_ld(0, src0+i); - l0 = vec_mergel(s1, s1); // [c,c,d,d] - s3 = vec_ld(-16, src1-i); - h0 = vec_mergeh(s1, s1); // [a,a,b,b] - s2 = vec_ld(16, src0+i); - s1 = vec_mergeh(vec_mergel(l0,h0), // [d,b,d,b] - vec_mergeh(l0,h0)); // [c,a,c,a] - // [d,c,b,a] - l0 = vec_mergel(s3, s3); - d = vec_madd(s0, s1, zero); - h0 = vec_mergeh(s3, s3); - vec_st(d, 0, dst+i); - s3 = vec_mergeh(vec_mergel(l0,h0), - vec_mergeh(l0,h0)); - d = vec_madd(s2, s3, zero); - vec_st(d, 16, dst+i); - } -} - -void ff_float_init_altivec(DSPContext* c, AVCodecContext *avctx) -{ - c->vector_fmul_reverse = vector_fmul_reverse_altivec; -} |