summaryrefslogtreecommitdiff
path: root/apps/codecs/libmusepack/synth_filter.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/codecs/libmusepack/synth_filter.c')
-rw-r--r--apps/codecs/libmusepack/synth_filter.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/apps/codecs/libmusepack/synth_filter.c b/apps/codecs/libmusepack/synth_filter.c
index ae94741368..9c8d27eed2 100644
--- a/apps/codecs/libmusepack/synth_filter.c
+++ b/apps/codecs/libmusepack/synth_filter.c
@@ -54,9 +54,16 @@
54 54
55 // in this configuration a post-shift by >>1 is needed after synthesis 55 // in this configuration a post-shift by >>1 is needed after synthesis
56 #else 56 #else
57 // saturate to +/- 2^31 (= value << (31-17)), D-values are +/- 2^17 57 #if defined(CPU_ARM)
58 #define D(value) (value << (14)) 58 // do not up-scale D-values to achieve higher speed in smull/mlal
59 59 // operations. saves ~14/8 = 1.75 cycles per multiplication
60 #define D(value) (value)
61
62 // in this configuration a post-shift by >>16 is needed after synthesis
63 #else
64 // saturate to +/- 2^31 (= value << (31-17)), D-values are +/- 2^17
65 #define D(value) (value << (14))
66 #endif
60 // do not perform pre-shift 67 // do not perform pre-shift
61 #define MPC_V_PRESHIFT(X) (X) 68 #define MPC_V_PRESHIFT(X) (X)
62 #endif 69 #endif