200 Commits

Author SHA1 Message Date
Olli Parviainen
a911a1e986 Bugfix in integer version of calcCrossCorrAccumulate()
Using "unsigned long" for "lnorm" variable that was yet made negative in very first step caused incorrect calculation result. Corrected the type to "long".

Signed-off-by: Olli Parviainen <oparviai@iki.fi>
2020-10-03 16:58:00 +03:00
Olli Parviainen
3e74d1d18f Fixed characters in source code comments that ought to be ± 2020-07-08 19:13:30 +03:00
Olli Parviainen
f382149086 Compensate initial buffering of anti-alias filter and intepolator.
This avoids losing first few dozen of samples from beginning of the stream.

Signed-off-by: Olli Parviainen <oparviai at iki.fi>
2020-06-30 14:16:03 +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
Rémi Verschelde
fe15975a21 BPMDetect: Make conversion from size_t to int explicit
Fixes warning C4267 on MSVC.

This assumes that `beats.size()` should never overflow `int` - if that
could happen, the API should likely be changed to handle it gracefully.
2020-04-28 10:48:47 +02:00
Olli Parviainen
a046b6971d Windows build: Retargeted to Visual Studio 2019 and Windows 10. Removed obsolete /Gm build option.
Signed-off-by: Olli Parviainen <oparviai at iki.fi>
2020-02-02 18:58:46 +02:00
Olli Parviainen
244fbeac24 BPM PeakFinder: Fix possible reading past end of array.
Increase minor version accordingly.
2019-01-07 18:55:36 +02:00
Olli Parviainen
2b2585bc74 Enable using multiple CPUs in Visual Studio build for faster build 2018-12-04 21:11:17 +02:00
Olli
eef1220d72 BPMDetect: Change correlation loop 'sum' variable type from double to float, because double causes big performance penalty for autovectorized code. 2018-12-02 22:33:55 +02:00
olli
9205fc971e Bump version to 2.1.2 to correct incorrect version info in configure.ac 2018-12-02 10:43:00 +02:00
Olli
b9659b64c6 Updated readme & version info to 2.1.1 2018-11-14 19:25:34 +02:00
Olli
7f594f8b7d New take on CVE-2018-17097 i.e. avoiding writing beyond end of buffer in case of 24-bit samples 2018-10-31 18:36:05 +02:00
Olli
41a2cd3e6b Merge branch 'master' of gitlab.com:soundtouch/soundtouch 2018-10-28 16:05:26 +02:00
Olli
09e04252dd Fix CVE-2018-17097 by rounding working buffer size up to nearest 4-byte boundary. Replaced also tab characters with spaces in indentation. 2018-10-28 16:04:15 +02:00
Olli
59129fa33d Eliminate assert condition by reading # sample elements that are multiple of num-of-channels 2018-10-28 15:49:50 +02:00
Olli
a1c400eb2c Fix issue CVE-2018-17096: Replace assert with runtime exception 2018-10-28 15:32:58 +02:00
ggfan
bdbe1bf551 Adding gradle build for Android example 2018-09-20 07:35:02 -07:00
Olli
1e9c3bce2d Bump version to 2.1 2018-09-08 18:52:10 +03:00
olli
46531e5b92 Improved WavFile header/fact not-too-small check 2018-08-13 19:42:58 +03:00
oparviainen
e024068905 Fixed WavFile header/fact not-too-small check 2018-08-13 19:16:16 +03:00
oparviainen
c38f0506da Removed commented code, style cleanup 2018-08-12 20:51:24 +03:00
oparviainen
cca9271e98 Merge branch 'master' of https://gitlab.com/soundtouch/soundtouch 2018-08-12 20:25:12 +03:00
oparviainen
9e02d9b04f Added minimum size check for WAV header block lengh values 2018-08-12 20:24:37 +03:00
oparviainen
107f2c5d20 Replaced illegal-number-of-channel assertions with run-time exception 2018-08-12 20:00:56 +03:00
Olli
4b6060adfe Merge branch 'update-vs-extra-dist' into 'master'
Update Visual Studio files on EXTRA_DIST

See merge request soundtouch/soundtouch!3
2018-08-08 17:58:56 +00:00
Olli
1f7f681f9d Merge branch 'add-interpolate-h-to-noinst-headers' into 'master'
Add Interpolate*.h to noinst_HEADERS

See merge request soundtouch/soundtouch!4
2018-08-08 17:57:50 +00:00
Olli
81cf74cf4c Merge branch 'misc-typos' into 'master'
MIsc. source comment typos

See merge request soundtouch/soundtouch!5
2018-08-08 17:55:28 +00:00
oparviainen
f71db0d2c3 Added <cfloat> header file, resolved compiler warnings 2018-08-08 19:53:14 +03:00
luz.paz
0093b63141 MIsc. source comment typos
Found via `codespell -q 3`
2018-07-27 12:26:56 -04:00
Isamu Mogi
6ee56b1c17 Add Interpolate*.h to noinst_HEADERS
This fixes following error on `make distcheck`

```
Making all in SoundTouch
  CXX      AAFilter.lo
  CXX      FIRFilter.lo
  CXX      FIFOSampleBuffer.lo
  CXX      RateTransposer.lo
../../../../source/SoundTouch/RateTransposer.cpp:39:10: fatal error: 'InterpolateLinear.h' file not found
         ^~~~~~~~~~~~~~~~~~~~~
1 error generated.
```
2018-06-02 15:55:07 +09:00
Isamu Mogi
6b6c36d3e1 Update Visual Studio files on EXTRA_DIST
This fixes following error on `make dist`:

```
make[6]: *** No rule to make target `SoundTouch.dsp', needed by `distdir-am'.  Stop.
```
2018-06-02 15:53:05 +09:00
Olli
007481d711 BPM algorithm work - improved beat analysis routine and added individual beat detection 2018-05-16 18:58:19 +03:00
Olli
47f74e83ef Merged typo correction patch 2018-05-12 18:40:56 +03:00
Olli
c4154b063f Corrected typos in source code comments 2018-05-12 18:39:43 +03:00
Olli
3f2ad229bb Migrated MS Visual Studio build scripts to VS2015 2018-05-10 23:54:07 +03:00
Olli
3feea728d5 Minor updates. Removed obsoleted files. 2018-05-10 21:57:49 +03:00
Olli
e765f8146f Removed Subversion $Id$, $Date$ etc autoupdate tags 2018-05-10 21:51:49 +03:00
oparviai
30b017d112 SoundTouchDLL: adapt gcc compilation settings for x86/x64/arm platforms 2017-11-30 18:07:41 +00:00
oparviai
20e4bf0b04 Added BPM functions to Pascal interface of SoundTouch DLL 2017-11-26 09:10:41 +00:00
oparviai
ec9ba968f5 Added BPMDetect functions to SoundTouchDll API 2017-11-10 16:38:36 +00:00
oparviai
407f516e0d GNU compilation of SoundTouchDll that has easy function importing interfaces for java, mono etc 2017-11-03 20:08:10 +00:00
oparviai
05a3403137 Refactored C# interface & example 2017-10-30 16:53:17 +00:00
oparviai
80281c8e1b Disable anti-alias filter if SOUNDTOUCH_PREVENT_CLICK_AT_RATE_CROSSOVER is defined 2017-09-07 17:04:02 +00:00
oparviai
5f8720dae6 Added & to catch() clause to handle exception as reference 2017-08-29 16:10:45 +00:00
oparviai
6e8d58cbcc Added sanity checks against illegal input audio stream parameters e.g. wildly excessive samplerate 2017-08-27 15:23:28 +00:00
oparviai
bbeab39f0a Version SoundTouch 2.0 2017-07-30 09:35:00 +00:00
oparviai
bd0a806285 Updated documentation 2017-07-25 14:26:50 +00:00
oparviai
59e6726118 Added C# example application that processes mp3 files with SoundTouch 2017-07-25 12:40:11 +00:00
oparviai
92bfdd1e8d Fixed a bug introduced in r245 that caused small constant time offset in the output vs. input stream 2017-04-07 19:01:22 +00:00
oparviai
c31fca9c9f Added int16/short sample version of putSamples()/receiveSamples() functions to SoundTouch.dll API 2017-03-05 16:36:35 +00:00