1
0
mirror of https://github.com/RPCS3/soundtouch.git synced 2024-11-08 20:12:27 +01:00
Commit Graph

319 Commits

Author SHA1 Message Date
Be
fd8e4c6835
CMake: fix compiler warning about unknown option -fPIC with MSVC 2021-09-07 08:42:45 -05:00
Olli
7df5617a4b cmake: remove "CMAKE" compiler definition and instead add mock "soundtouch_config.h"
Add a empty mock "soundtouch_config.h" file and remove "CMAKE" compiler
definition that was used in #ifdef that skipped including
"soundtouch_config.h" in cmake build.

This is to avoid errors about missing include file when not using
autotools build.

Also update version to 2.3.1

Signed-off-by: Olli <oparviai'at'iki.fi>
2021-09-06 20:13:01 +03:00
Olli Parviainen
2e606befef Merge branch 'shared-lib-version' into 'master'
Set VERSION and SOVERSION for shared libraries

See merge request soundtouch/soundtouch!15
2021-09-01 14:58:22 +00:00
Olli Parviainen
268a91494b Merge branch 'configure.ac' into 'master'
Fix for commit 3d7bf376

See merge request soundtouch/soundtouch!17
2021-09-01 14:57:50 +00:00
Olli Parviainen
2adf2ae71d Merge branch 'incorrect-fsf-address' into 'master'
Correct fsf address

See merge request soundtouch/soundtouch!16
2021-09-01 14:57:18 +00:00
Sérgio M. Basto
9f72a8aa6b Fix for commit 3d7bf376
we need use += and a space CXXFLAGS+=" -O3 -ffast-math" , if not += you override all system settings for CXXFLAGS and none for LDFLAGS, which ends with "/usr/bin/ld: /tmp/ccARck2g.o: relocation R_X86_64_32 against .rodata.str1.1' can not be used when making a PIE object; recompile with -fPIE`"

https://stackoverflow.com/a/38579792/778517
2021-08-31 22:11:27 +01:00
Sérgio M. Basto
d11a3adb2d Correct fsf address
https://fedoraproject.org/wiki/Common_Rpmlint_issues#incorrect-fsf-address
2021-08-30 19:07:29 +01:00
Uwe Klotz
847edf4548 Set VERSION and SOVERSION for shared libraries
Required by the RPM builds for Fedora:

b7c49ac115
2021-08-30 10:01:38 +02:00
Be
3148382fa8 CMake: make building soundstretch optional 2021-08-29 18:19:28 +03:00
Olli
c65afe49f6 cmake: add -mfpu=neon if neon build 2021-08-21 13:25:24 +03:00
Olli
28b32c0fbb Update readme, version info for release v2.3.0
Signed-off-by: Olli <oparviai'at'iki.fi>
2021-08-21 13:00:35 +03:00
Olli
bd2149daf6 Fix cmake NEON condition
Signed-off-by: Olli <oparviai'at'iki.fi>
2021-08-21 12:59:59 +03:00
Olli
776443f914 Disable OpenMP init_threading workaround in Android build
Signed-off-by: Olli <oparviai'at'iki.fi>
2021-08-21 11:38:17 +03:00
Olli
65caafdc5f cmake: add 'soundstretch' utility, regroup CMakeList.txt by targets
- add 'soundstretch' utility as cmake build target
- group CMakeList.txt contents per target for better readability
2021-08-20 21:56:12 +03:00
Olli Parviainen
6dce1068d9 Merge branch 'optimizations' into 'master'
CMake: set optimization options for MSVC as well as GCC & Clang

See merge request soundtouch/soundtouch!13
2021-08-20 17:57:09 +00:00
Be
eb6d970970
CMake: set optimization options for MSVC as well as GCC & Clang 2021-08-18 12:24:18 -05:00
Olli
f974b28682 Further cmake changes for SoundTouchDLL compilation
- enable "-Ofast" compilation flags for cmake build
- adjust compiler flags for the SoundTouchDLL compilation
- add cmake-generated "SoundTouchDLL_EXPORTS" as alias for "DLL_EXPORT"
- hide cmake temporary files in gitignore

Signed-off-by: Olli <oparviai'at'iki.fi>
2021-08-17 19:50:29 +03:00
Olli Parviainen
220eb7857c Merge branch 'cmake' into 'master'
CMake fixes for SoundTouchDLL

See merge request soundtouch/soundtouch!12
2021-08-17 16:49:07 +00:00
Be
dae91683bc
CMake fixes for SoundTouchDLL 2021-08-16 11:23:01 -05:00
Olli Parviainen
fa223609d2 Merge branch 'cmake' into 'master'
add CMake build system

See merge request soundtouch/soundtouch!11
2021-08-16 16:03:43 +00:00
Be
3617bd166b
add build directory to .gitignore 2021-08-16 10:09:32 -05:00
Be
d8d86e1a92
add CMake build system 2021-08-16 10:09:32 -05:00
Olli
e0e00878fc Remove surplus semicolon
Remove surplus semicolon that caused warning if compiling with
'-pedantic' compiler switch.

Signed-off-by: Olli <oparviai 'at' iki.fi>
2021-07-30 14:53:04 +03:00
Olli
17a63e99d5 Fix bug with too small initial skipFract value
Fix bug with too small initial skipFract value with certain processing
parameter set: replaces assert with assignment that corrects the
situation.
2021-03-03 18:11:45 +02:00
Olli
6533514372 Improve soundtouch.clear() so that it really clears TDStretch & RateTransposer states
Improve soundtouch.clear() so that it really clears all TDStretch &
RateTransposer state variables. Before this clear() left last processed
sample or fractional position state uncleared, which caused slightly
different result if same stream was processed again after clear().
2021-01-30 19:02:08 +02:00
Olli
81b0d74727 Correct initial skip value
... so that with nominal tempo the expected best sequence overlapping
location lays in middle of the correlation window. This will ensure that
with output should be similar to input when tempo adjustment is zero.
2021-01-28 21:32:35 +02:00
Olli
5e76cf2f6d Disable skipping of unaligned SIMD memory offset by default
Change default setting so that SIMD does not skip of unaligned memory
offsets, as that likely is not a necessary compromise with concurrent
CPUs any more.
2021-01-28 21:26:38 +02:00
Olli
f38cfa6850 Call "clear()" after changing anti-alias filter on/off
Call "clear()" after changing anti-alias filter on/off to prefill
buffers appropriately.
2021-01-28 20:19:06 +02:00
Olli Parviainen
762f56024b Updated versions and documents for release 2.2 2020-10-15 18:23:34 +03:00
Olli Parviainen
1d42d899ab Merge branch 'improve-autovectorization' into 'master'
Improvements to help compiler autovectorization

See merge request soundtouch/soundtouch!10
2020-10-13 18:19:08 +00: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
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
308c3484f6 Merge branch 'feature/neon-tuning' into 'master'
Tuning for ARM NEON

See merge request soundtouch/soundtouch!8
2020-06-21 17:43:36 +00: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
Olli Parviainen
1e56c65ea5 Merge branch 'bpmdetect-warning-size_t-int' into 'master'
BPMDetect: Make conversion from size_t to int explicit

See merge request soundtouch/soundtouch!7
2020-05-10 14:39:52 +00: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
c4f1602474 Added section about building the software in Mac 2019-10-28 19:04:28 +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
12cb25ed7b Updated README.html 2019-01-01 16:55:23 +02:00
Olli
fb3ea4d9f0 Update readme.md 2018-12-08 19:01:57 +00: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
6d700259b9 Touched version number 2018-10-28 16:27:48 +02:00
olli
dad1d566c4 Added unset ACLOCAL to bootstrap to avoid issue that ACLOCAL has been previously set to incompatible value. 2018-10-28 16:25:23 +02:00