Skip to content

Commit 8bcaeb4

Browse files
committed
Release 1.0.8
* Better optimizations of dsp::copy and dsp::move for SSE, SSE3 and AVX. * The function dsp::init() is now thread safe. * Additional optimization of dsp::normalize() function, added dsp::normalize1() and dsp::normalize2() functions. * Updated build scripts.
2 parents 2afc956 + 31275aa commit 8bcaeb4

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

44 files changed

+7573
-6579
lines changed

.github/workflows/build.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ jobs:
2424
printf 'Server = https://geo.mirror.pkgbuild.com/$repo/os/$arch\n%s\n' "$(cat /etc/pacman.d/mirrorlist)" > /etc/pacman.d/mirrorlist
2525
- name: Install dependencies
2626
run: pacman --noconfirm -Syu base-devel glibc-debug git valgrind
27-
- uses: actions/checkout@v2
27+
- uses: actions/checkout@v3
2828
- name: Configure project
2929
run: make config TEST=1
3030
- name: Fetch project dependencies
@@ -50,7 +50,7 @@ jobs:
5050
printf 'Server = https://geo.mirror.pkgbuild.com/$repo/os/$arch\n%s\n' "$(cat /etc/pacman.d/mirrorlist)" > /etc/pacman.d/mirrorlist
5151
- name: Install dependencies
5252
run: pacman --noconfirm -Syu base-devel glibc-debug git valgrind
53-
- uses: actions/checkout@v2
53+
- uses: actions/checkout@v3
5454
- name: Configure project
5555
run: make config TEST=1 DEBUG=1
5656
- name: Fetch project dependencies
@@ -72,7 +72,7 @@ jobs:
7272
steps:
7373
- name: Install dependencies
7474
run: zypper --non-interactive --no-gpg-checks in tar gzip git make valgrind gcc gcc-c++
75-
- uses: actions/checkout@v2
75+
- uses: actions/checkout@v3
7676
- name: Configure project
7777
run: make config TEST=1
7878
- name: Fetch project dependencies
@@ -96,7 +96,7 @@ jobs:
9696
run: apt-get update
9797
- name: Install dependencies
9898
run: apt-get -y install git make pkg-config valgrind gcc g++
99-
- uses: actions/checkout@v2
99+
- uses: actions/checkout@v3
100100
- name: Configure project
101101
run: make config TEST=1
102102
- name: Fetch project dependencies

CHANGELOG

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,13 @@
22
* RECENT CHANGES
33
*******************************************************************************
44

5+
=== 1.0.8 ===
6+
* Better optimizations of dsp::copy and dsp::move for SSE, SSE3 and AVX.
7+
* The function dsp::init() is now thread safe.
8+
* Additional optimization of dsp::normalize() function, added dsp::normalize1()
9+
and dsp::normalize2() functions.
10+
* Updated build scripts.
11+
512
=== 1.0.7 ===
613
* Implemented axis_apply_log1 and axis_apply_log2 optimized for AArch64 ASIMD.
714
* Implemented fill_rgba and fill_hsla for AArch64 ASIMD.

include/lsp-plug.in/dsp/common/pmath.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
#include <lsp-plug.in/dsp/common/pmath/fmop_vv.h>
3131
#include <lsp-plug.in/dsp/common/pmath/log.h>
3232
#include <lsp-plug.in/dsp/common/pmath/minmax.h>
33+
#include <lsp-plug.in/dsp/common/pmath/normalize.h>
3334
#include <lsp-plug.in/dsp/common/pmath/op_kx.h>
3435
#include <lsp-plug.in/dsp/common/pmath/op_vv.h>
3536
#include <lsp-plug.in/dsp/common/pmath/pow.h>

include/lsp-plug.in/dsp/common/pmath/minmax.h

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ LSP_DSP_LIB_SYMBOL(void, psmin2, float *dst, const float *src, size_t count);
4444

4545
/**
4646
* Compute absolute minimum values between two arrays:
47-
* dst[i] = (abs(dst[i]) < abs(src[i])) ? dst[i] : src[i]
47+
* dst[i] = (abs(dst[i]) < abs(src[i])) ? abs(dst[i]) : abs(src[i])
4848
* @param dst destination array
4949
* @param src source array
5050
* @param count number of elements in each array
@@ -71,7 +71,7 @@ LSP_DSP_LIB_SYMBOL(void, psmax2, float *dst, const float *src, size_t count);
7171

7272
/**
7373
* Compute absolute maximum values between two arrays:
74-
* dst[i] = (abs(dst[i]) < abs(src[i])) ? src[i] : dst[i]
74+
* dst[i] = (abs(dst[i]) < abs(src[i])) ? abs(src[i]) : abs(dst[i])
7575
* @param dst destination array
7676
* @param src source array
7777
* @param count number of elements in each array
@@ -98,7 +98,7 @@ LSP_DSP_LIB_SYMBOL(void, psmin3, float *dst, const float *a, const float *b, siz
9898

9999
/**
100100
* Compute absolute minimum values between two arrays:
101-
* dst[i] = (abs(a[i]) < abs(b[i])) ? a[i] : b[i]
101+
* dst[i] = (abs(a[i]) < abs(b[i])) ? abs(a[i]) : abs(b[i])
102102
* @param dst destination array
103103
* @param src source array
104104
* @param count number of elements in each array
@@ -116,7 +116,7 @@ LSP_DSP_LIB_SYMBOL(void, pmax3, float *dst, const float *a, const float *b, size
116116

117117
/**
118118
* Compute maximum values between two arrays with disregarded sign:
119-
* dst[i] = (abs(a[i]) < b(src[i])) ? b[i] : a[i]
119+
* dst[i] = (abs(a[i]) < abs(b[i])) ? b[i] : a[i]
120120
* @param dst destination array
121121
* @param src source array
122122
* @param count number of elements in each array
@@ -125,7 +125,7 @@ LSP_DSP_LIB_SYMBOL(void, psmax3, float *dst, const float *a, const float *b, siz
125125

126126
/**
127127
* Compute absolute minimum values between two arrays:
128-
* dst[i] = (abs(a[i]) < abs(b[i])) ? b[i] : a[i]
128+
* dst[i] = (abs(a[i]) < abs(b[i])) ? abs(b[i]) : abs(a[i])
129129
* @param dst destination array
130130
* @param src source array
131131
* @param count number of elements in each array

include/lsp-plug.in/dsp/common/misc.h renamed to include/lsp-plug.in/dsp/common/pmath/normalize.h

Lines changed: 19 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,8 @@
1919
* along with lsp-dsp-lib. If not, see <https://www.gnu.org/licenses/>.
2020
*/
2121

22-
#ifndef LSP_PLUG_IN_DSP_COMMON_MISC_H_
23-
#define LSP_PLUG_IN_DSP_COMMON_MISC_H_
22+
#ifndef LSP_PLUG_IN_DSP_COMMON_PMATH_NORMALIZE_H_
23+
#define LSP_PLUG_IN_DSP_COMMON_PMATH_NORMALIZE_H_
2424

2525
#include <lsp-plug.in/dsp/common/types.h>
2626

@@ -40,4 +40,20 @@ LSP_DSP_LIB_SYMBOL(void, abs_normalized, float *dst, const float *src, size_t co
4040
*/
4141
LSP_DSP_LIB_SYMBOL(void, normalize, float *dst, const float *src, size_t count);
4242

43-
#endif /* LSP_PLUG_IN_DSP_COMMON_MISC_H_ */
43+
/** Calculate normalized values: dst[i] = dst[i] / (max { abs{ dst }})
44+
*
45+
* @param dst destination vector
46+
* @param src source vector
47+
* @param count number of elements
48+
*/
49+
LSP_DSP_LIB_SYMBOL(void, normalize1, float *dst, size_t count);
50+
51+
/** Calculate normalized values: dst[i] = src[i] / (max { abs{ src }})
52+
*
53+
* @param dst destination vector
54+
* @param src source vector
55+
* @param count number of elements
56+
*/
57+
LSP_DSP_LIB_SYMBOL(void, normalize2, float *dst, const float *src, size_t count);
58+
59+
#endif /* LSP_PLUG_IN_DSP_COMMON_PMATH_NORMALIZE_H_ */

include/lsp-plug.in/dsp/dsp.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,6 @@
5454
#include <lsp-plug.in/dsp/common/float.h>
5555
#include <lsp-plug.in/dsp/common/graphics.h>
5656
#include <lsp-plug.in/dsp/common/hmath.h>
57-
#include <lsp-plug.in/dsp/common/misc.h>
5857
#include <lsp-plug.in/dsp/common/mix.h>
5958
#include <lsp-plug.in/dsp/common/msmatrix.h>
6059
#include <lsp-plug.in/dsp/common/pcomplex.h>

include/lsp-plug.in/dsp/version.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
// Define version of headers
2626
#define LSP_DSP_LIB_MAJOR 1
2727
#define LSP_DSP_LIB_MINOR 0
28-
#define LSP_DSP_LIB_MICRO 7
28+
#define LSP_DSP_LIB_MICRO 8
2929

3030
#if defined(__WINDOWS__) || defined(__WIN32__) || defined(__WIN64__) || defined(_WIN64) || defined(_WIN32) || defined(__WINNT) || defined(__WINNT__)
3131
#define LSP_DSP_LIB_EXPORT_MODIFIER __declspec(dllexport)

0 commit comments

Comments
 (0)