1
0
mirror of https://github.com/RPCS3/soundtouch.git synced 2024-09-20 08:21:37 +02:00
Commit Graph

128 Commits

Author SHA1 Message Date
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
a1c400eb2c Fix issue CVE-2018-17096: Replace assert with runtime exception 2018-10-28 15:32:58 +02: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
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
80281c8e1b Disable anti-alias filter if SOUNDTOUCH_PREVENT_CLICK_AT_RATE_CROSSOVER is defined 2017-09-07 17:04:02 +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
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
6f82bdebdb Modify 'maxnorm' value insider critical section when using OpenMP with integer samples 2017-03-05 13:56:03 +00:00
oparviai
5d9bc2fdf3 Adjusted algorithm parameters for reducing reverberation artifact at tempo slowdown 2017-01-08 16:56:20 +00:00
oparviai
1049304b5d Fixed issue that clipped brief sequence of audio from beginning of the input audio 2017-01-08 16:27:02 +00:00
oparviai
e302cd7123 Fix to issue that started audio track with brief sequence of silence 2016-10-20 16:30:11 +00:00
oparviai
753848865d Added function to get duration ratio between the original input and processed output tracks. 2016-10-15 19:34:59 +00:00
oparviai
ac03757ec8 Added functions to get initial processing latency, and clarified reporting input/output batch sizes 2016-10-15 18:55:12 +00:00
oparviai
f574c92dcf Bugfix: Incorrect Pi value from 5th decimal onwards ... 2016-01-12 17:26:21 +00:00
oparviai
882f248a0c bugfix: flush() didn't properly flush final samples from the pipeline on 2nd time, in case that soundtouch object instance were recycled and used for processing a 2nd audio stream. 2016-01-10 10:31:35 +00:00
oparviai
9287800b65 Improved beat detection algorithm accuracy and made it better adaptable for real-time beat changes. 2016-01-05 20:59:57 +00:00
oparviai
e1c7cffbcd - Fixed incorrect maximally-small float variable initialization to use -FLT_MAX instead of FLT_MIN. This glitch may have caused possible negative index access when using best overlap quick seek algorithm
- version to 1.9.3(pre)
2016-01-05 20:42:45 +00:00
oparviai
089edd12f4 updated comments 2015-11-05 17:46:08 +00:00
oparviai
18a230a54c - Fix in GNU package management issues.
- version 1.9.2
2015-09-20 07:38:32 +00:00
oparviai
db04025351 - Redesigned quickseek algorithm for improved sound quality in quickseek mode
- Adaptive integer divider scaling for improved sound quality when using integer processing
- Version 1.9.1-pre
2015-08-08 21:00:15 +00:00
oparviai
c9507ff7f1 - Improved SoundTouch::flush() so that it produces exactly accurate number of output samples.
- Changed 'float' variables into 'double' for more precise calculation of input-vs-output samples.
2015-07-26 14:45:48 +00:00
oparviai
76f76ffb84 - Update documentation
- Updated version numbers to 1.9
- Disable OpenMP by default, to be enabled by developer
2015-05-18 15:28:41 +00:00
oparviai
4bc115df86 Floating point patch in PeakFinder 2015-05-18 15:22:02 +00:00
oparviai
708f1d7e0b Revised autoconf/automake scripts for easier adding of custom CXXFLAGS 2015-05-01 07:55:47 +00:00
oparviai
c36e2fa958 mmx variable initialization patch 2015-02-22 15:10:38 +00:00
oparviai
3e9cc3fd4b bugfix 2015-02-22 15:07:12 +00:00
oparviai
123e3299fe Enable openmp for Visual C++ x64 build 2015-02-22 13:34:51 +00:00
oparviai
6935032a52 Added openmp configuration for gnu buid 2015-02-22 08:19:09 +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