summaryrefslogtreecommitdiff
path: root/libavcodec/aac.c
diff options
context:
space:
mode:
authorMåns Rullgård <mans@mansr.com>2010-01-15 02:58:24 +0000
committerMåns Rullgård <mans@mansr.com>2010-01-15 02:58:24 +0000
commit798339fb46a2646bddc0121733a90afc3d860f29 (patch)
tree3f6f827a8a95695b052af858819ba21c1785ef93 /libavcodec/aac.c
parentc78dfcdaf41b66c651d64fc1289f71ce9404e970 (diff)
AAC: ARM/NEON asm for VMUL2/4 functions
Originally committed as revision 21219 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavcodec/aac.c')
-rw-r--r--libavcodec/aac.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/libavcodec/aac.c b/libavcodec/aac.c
index b47b58e291..393f2e6594 100644
--- a/libavcodec/aac.c
+++ b/libavcodec/aac.c
@@ -93,6 +93,10 @@
#include <math.h>
#include <string.h>
+#if ARCH_ARM
+# include "arm/aac.h"
+#endif
+
union float754 {
float f;
uint32_t i;
@@ -862,6 +866,7 @@ static void decode_mid_side_stereo(ChannelElement *cpe, GetBitContext *gb,
}
}
+#ifndef VMUL2
static inline float *VMUL2(float *dst, const float *v, unsigned idx,
const float *scale)
{
@@ -870,7 +875,9 @@ static inline float *VMUL2(float *dst, const float *v, unsigned idx,
*dst++ = v[idx>>4 & 15] * s;
return dst;
}
+#endif
+#ifndef VMUL4
static inline float *VMUL4(float *dst, const float *v, unsigned idx,
const float *scale)
{
@@ -881,7 +888,9 @@ static inline float *VMUL4(float *dst, const float *v, unsigned idx,
*dst++ = v[idx>>6 & 3] * s;
return dst;
}
+#endif
+#ifndef VMUL2S
static inline float *VMUL2S(float *dst, const float *v, unsigned idx,
unsigned sign, const float *scale)
{
@@ -896,7 +905,9 @@ static inline float *VMUL2S(float *dst, const float *v, unsigned idx,
return dst;
}
+#endif
+#ifndef VMUL4S
static inline float *VMUL4S(float *dst, const float *v, unsigned idx,
unsigned sign, const float *scale)
{
@@ -921,6 +932,7 @@ static inline float *VMUL4S(float *dst, const float *v, unsigned idx,
return dst;
}
+#endif
/**
* Decode spectral data; reference: table 4.50.