26 Commits

Author SHA1 Message Date
Vestral
f6a2e1e0b0 Remove cpu runtime checks 2025-04-07 20:27:06 +02:00
Olli
5dede763ff Refactor pow() usage
Refactor pow() usage:
- use base of 0.5^k instead of 1/(2^k)
- skip pow if using INTEGER_SAMPLES
2025-02-23 12:54:41 +02:00
Olli
ddf28667c9 Increase max nr. of channels from 16 to 32 2024-09-17 19:26:14 +03:00
Olli
63002027de dos2unix:ify line endings, source code formatter 2024-03-29 19:42:23 +02:00
Oliver Collyer
170349af69 Fixed MSVC build errors 2023-04-12 14:55:46 +01:00
Olli Parviainen
b477936716 Resolve gcc compiler warnings in ARM environment 2023-04-02 18:48:28 +03:00
Minty-Meeo
1eda9c0b01 Resolve [-Wzero-as-null-pointer-constant] 2023-03-24 12:32:50 -05:00
Minty-Meeo
230ae2f9a9 Resolve [-Wextra]
[-Winconsistent-missing-override]
[-Wunused-const-variable]
[-Wunused-private-field]
[-Wunused-parameter]
2023-03-24 12:32:24 -05:00
serge-sans-paille
82cb3f99bb Remove unused dScaler variable in FIRFilter.cpp
Code is guarded by SOUNDTOUCH_FLOAT_SAMPLES but never actually used. Get
rid of it as it triggers a warning under -Werror=unused-variable.
--
Cherry-picked from
https://gitlab.com/serge-sans-paille/soundtouch/-/tree/fix/remove-unused-float-scaler
2023-03-19 16:52:18 +02:00
serge-sans-paille
4070166f4a Avoid signed/unsigned comparison when possible
As reported by -Wall
--
Cherry-picked from
https://gitlab.com/serge-sans-paille/soundtouch/-/tree/fix/sign-issue
2023-03-19 16:50:59 +02:00
Olli Parviainen
bf3cec0244 Improvements to help compiler autovectorization
Refactored FIRfilter and TDStretch hot-spot routines to help compiler
perform more efficient autovectorization.

Benchmarked:
- 2x/3x improvement in gcc-generated x86 SIMD code execution
  times for SSE2/AVX instruction extensions accordingly, when
  hand-tuned SSE intrinsics were disabled. Hand-tuned SSE code
  still is slightly faster than gcc-produced AVX.
- 2.4x improvement for cumulative ARM NEON tunings when compared to
  previous SoundTouch release.

Signed-off-by: Olli Parviainen <oparviai'at'iki.fi>
2020-10-13 20:46:23 +03:00
Olli Parviainen
3d7bf376fd Tuning for ARM NEON
Tuning to enable ARM NEON SIMD performance improvements:
- NEON detection in configure file
- Remove manual loop unrolling, gcc autovectorization does better job
without manually unrolled loops.
- Avoid unaligned pointer accesses when using NEON
2020-06-21 20:38:00 +03:00
oparviainen
c38f0506da Removed commented code, style cleanup 2018-08-12 20:51:24 +03:00
Olli
e765f8146f Removed Subversion $Id$, $Date$ etc autoupdate tags 2018-05-10 21:51:49 +03:00
oparviai
089edd12f4 updated comments 2015-11-05 17:46:08 +00:00
oparviai
d7d0a5c0f9 Implemented parallel computation using OpenMP pragmas 2015-02-21 21:24:29 +00:00
oparviai
126d1ac41d Eliminated alloca() call that caused compatibility woes 2014-10-08 15:26:57 +00:00
oparviai
8c65661b91 Added support for multi-channel audio 2013-06-12 15:24:44 +00:00
oparviai
ad164d96db Added a compile-time switch to disable throwing c++ exceptions 2011-09-02 18:56:11 +00:00
oparviai
d002b52f2a use more specifically named global #defines 2011-02-13 19:13:57 +00:00
oparviai
c045c24e80 Retired 3DNow! optimizations as obsolete 2010-01-24 12:40:30 +00:00
oparviai
47659b0810 Fixed ambiguities in Solaris compilation 2009-02-25 17:13:51 +00:00
oparviai
c17eb6821a Cleaned code with Lint 2009-02-21 16:00:14 +00:00
oparviai
9a273df119 Added :: before pow to resolve namespace ambiguity 2008-05-09 04:48:34 +00:00
oparviai
e69813f645 Activated SVN keyword expansion 2008-02-10 16:26:55 +00:00
oparviai
2b64de964c Initial commit as per SoundTouch v1.3.1 2008-02-10 16:24:28 +00:00