summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog7
-rw-r--r--src/mp3-c-synth.c10
-rw-r--r--src/mp3-c.c14
3 files changed, 19 insertions, 12 deletions
diff --git a/ChangeLog b/ChangeLog
index 4d4e943..e872c45 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2015-01-26 Josep Torra <josep@fluendo.com>
+
+ * src/mp3-c-synth.c:
+ * src/mp3-c.c: (inv_mdct_l), (inv_mdct), (III_hybrid):
+ Make the conditionals to turn on assembly optimization depend
+ only in our own compilation flag.
+
2014-12-16 Josep Torra <josep@fluendo.com>
* src/mp3-c.c:
diff --git a/src/mp3-c-synth.c b/src/mp3-c-synth.c
index aa7726e..fe976ef 100644
--- a/src/mp3-c-synth.c
+++ b/src/mp3-c-synth.c
@@ -42,7 +42,7 @@ III_subband_synthesis (mp3tl * tl, frame_params * fr_ps,
#define INV_SQRT_2 (7.071067811865474617150084668537e-01f)
-#if defined(USE_ARM_NEON) && defined(__ARM_NEON__) && !defined(__SOFTFP__)
+#if defined(USE_ARM_NEON)
static const __CACHE_LINE_DECL_ALIGN(float dct8_k[8]) = {
INV_SQRT_2, 0.0f, 5.4119610014619701222e-01f, 1.3065629648763763537e+00f,
5.0979557910415917998e-01f, 6.0134488693504528634e-01f,
@@ -144,7 +144,7 @@ MPG_DCT_8 (gfloat in[8], gfloat out[8])
}
#endif
-#if defined(USE_ARM_NEON) && defined(__ARM_NEON__) && !defined(__SOFTFP__)
+#if defined(USE_ARM_NEON)
static const __CACHE_LINE_DECL_ALIGN(float dct16_k[8]) = {
5.0241928618815567820e-01f, 5.2249861493968885462e-01f,
@@ -286,7 +286,7 @@ MPG_DCT_32 (gfloat in[32], gfloat out[32])
out[31] = odd_out[15];
}
-#if defined(USE_ARM_NEON) && defined(__ARM_NEON__) && !defined(__SOFTFP__)
+#if defined(USE_ARM_NEON)
#define WIN_MAC \
" vld1.32 {q0-q1}, [r3,:128], r5 \n\t" /* read win */ \
@@ -347,7 +347,7 @@ mp3_dewindow_output (gfloat *uvec, short *samples, gfloat* window)
);
}
-#elif defined(USE_ARM_VFP) && defined(__VFP_FP__) && !defined(__SOFTFP__)
+#elif defined(USE_ARM_VFP)
#define CONVERT_TO_INTEGER(v,d) \
" fcmpezs " v " \n\t" \
" fmstat \n\t" \
@@ -477,7 +477,7 @@ mp3_dewindow_output (gfloat *u_vec, short *samples, gfloat* window)
}
#endif
-#if defined(USE_ARM_NEON) && defined(__ARM_NEON__) && !defined(__SOFTFP__)
+#if defined(USE_ARM_NEON)
STATIC_INLINE void
build_uvec (gfloat *u_vec, gfloat *cur_synbuf, gint k)
{
diff --git a/src/mp3-c.c b/src/mp3-c.c
index 00160ee..0337a88 100644
--- a/src/mp3-c.c
+++ b/src/mp3-c.c
@@ -1196,7 +1196,7 @@ inv_mdct_s (gfloat invec[6], gfloat outvec[12])
outvec[11] = -h[2];
}
-#if defined(USE_ARM_VFP) && defined(__VFP_FP__) && !defined(__SOFTFP__)
+#if defined(USE_ARM_VFP)
static inline void
calculate_H (gfloat * H, gfloat * invec)
{
@@ -1237,7 +1237,7 @@ inv_mdct_l (gfloat invec[18], gfloat outvec[36])
int i;
gfloat H[17], h[18], even[9], odd[9], even_idct[9], odd_idct[9], *tmp;
-#if defined(USE_ARM_VFP) && defined(__VFP_FP__) && !defined(__SOFTFP__)
+#if defined(USE_ARM_VFP)
calculate_H (H, invec);
#else
for (i = 0; i < 17; i++)
@@ -1357,7 +1357,7 @@ imdct_9pt (gfloat invec[9], gfloat outvec[9])
}
}
-#if defined(USE_ARM_VFP) && defined(__VFP_FP__) && !defined(__SOFTFP__)
+#if defined(USE_ARM_VFP)
static inline void
dewindow_block_type_2 (gfloat * dst, gfloat * src, gfloat * win )
{
@@ -1459,7 +1459,7 @@ inv_mdct (gfloat in[18], gfloat out[36], gint block_type)
/* The three short blocks must be windowed and overlapped added
* with each other */
-#if defined(USE_ARM_VFP) && defined(__VFP_FP__) && !defined(__SOFTFP__)
+#if defined(USE_ARM_VFP)
dewindow_block_type_2 (tmpptr, tmp, (gfloat *)win[2]);
#else
for (j = 0; j < 12; j++) {
@@ -1471,7 +1471,7 @@ inv_mdct (gfloat in[18], gfloat out[36], gint block_type)
inv_mdct_l (in, out);
/* Window the imdct result */
-#if defined(USE_ARM_VFP) && defined(__VFP_FP__) && !defined(__SOFTFP__)
+#if defined(USE_ARM_VFP)
dewindow_block_type_other (out, out, (gfloat *) win[block_type]);
#else
for (i = 0; i < 36; i++)
@@ -1532,7 +1532,7 @@ init_hybrid (mp3cimpl_info * c_impl)
c_impl->prevblck[i][j][k] = 0.0;
}
-#if defined(USE_ARM_VFP) && defined(__VFP_FP__) && !defined(__SOFTFP__)
+#if defined(USE_ARM_VFP)
static inline void
overlap_addition (gfloat * dst, gfloat * src, gfloat * prev )
{
@@ -1597,7 +1597,7 @@ III_hybrid (gfloat fsIn[SSLIMIT], gfloat tsOut[SSLIMIT], int sb, int ch,
inv_mdct (fsIn, rawout, i);
/* overlap addition */
-#if defined(USE_ARM_VFP) && defined(__VFP_FP__) && !defined(__SOFTFP__)
+#if defined(USE_ARM_VFP)
overlap_addition (tsOut, rawout, (gfloat *) tl->c_impl.prevblck[ch][sb]);
#else
for (i = 0; i < SSLIMIT; i++) {