Skip to content

Commit a83ec03

Browse files
committed
Release 0.5.3
* Added pmin, pmax, psmin, psmax, pamin, pamax functions. * Added SSE optimizations for pmin, pmax, psmin, psmax, pamin, pamax functions. * Added AVX optimizations for pmin, pmax, psmin, psmax, pamin, pamax functions. * Added ARMv7 optimizations for pmin, pmax, psmin, psmax, pamin, pamax functions. * Added AArch64 optimizations for pmin, pmax, psmin, psmax, pamin, pamax functions. * Fixed bugs in msmatrix conversion functions for AVX and SSE. * Fixed bugs in sse::bilinear_transform_x1 routine.
2 parents c54a821 + aa09593 commit a83ec03

File tree

33 files changed

+6714
-1300
lines changed

33 files changed

+6714
-1300
lines changed

CHANGELOG

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

5+
=== 0.5.3 ===
6+
* Added pmin, pmax, psmin, psmax, pamin, pamax functions.
7+
* Added SSE optimizations for pmin, pmax, psmin, psmax, pamin, pamax functions.
8+
* Added AVX optimizations for pmin, pmax, psmin, psmax, pamin, pamax functions.
9+
* Added ARMv7 optimizations for pmin, pmax, psmin, psmax, pamin, pamax functions.
10+
* Added AArch64 optimizations for pmin, pmax, psmin, psmax, pamin, pamax functions.
11+
* Fixed bugs in msmatrix conversion functions for AVX and SSE.
12+
* Fixed bugs in sse::bilinear_transform_x1 routine.
13+
514
=== 0.5.2 ===
615
* Updated build system.
716
* Code refactoring.

dependencies.mk

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
# Variables that describe dependencies
2-
LSP_COMMON_LIB_VERSION := 1.0.5
2+
LSP_COMMON_LIB_VERSION := 1.0.7
33
LSP_COMMON_LIB_NAME := lsp-common-lib
44
LSP_COMMON_LIB_TYPE := src
55
LSP_COMMON_LIB_URL := https://github.com/sadko4u/$(LSP_COMMON_LIB_NAME).git
66

7-
LSP_TEST_FW_VERSION := 1.0.3
7+
LSP_TEST_FW_VERSION := 1.0.5
88
LSP_TEST_FW_NAME := lsp-test-fw
99
LSP_TEST_FW_TYPE := src
1010
LSP_TEST_FW_URL := https://github.com/sadko4u/$(LSP_TEST_FW_NAME).git

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
#include <lsp-plug.in/dsp/common/pmath/fmop_kx.h>
1616
#include <lsp-plug.in/dsp/common/pmath/fmop_vv.h>
1717
#include <lsp-plug.in/dsp/common/pmath/log.h>
18+
#include <lsp-plug.in/dsp/common/pmath/minmax.h>
1819
#include <lsp-plug.in/dsp/common/pmath/op_kx.h>
1920
#include <lsp-plug.in/dsp/common/pmath/op_vv.h>
2021
#include <lsp-plug.in/dsp/common/pmath/pow.h>
Lines changed: 129 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,129 @@
1+
/*
2+
* minmax.h
3+
*
4+
* Created on: 6 июл. 2020 г.
5+
* Author: sadko
6+
*/
7+
8+
#ifndef INCLUDE_LSP_PLUG_IN_DSP_COMMON_PMATH_MINMAX_H_
9+
#define INCLUDE_LSP_PLUG_IN_DSP_COMMON_PMATH_MINMAX_H_
10+
11+
#include <lsp-plug.in/dsp/common/types.h>
12+
13+
namespace lsp
14+
{
15+
namespace dsp
16+
{
17+
/**
18+
* Compute minimum values between two arrays:
19+
* dst[i] = min(dst[i], src[i])
20+
* @param dst destination array
21+
* @param src source array
22+
* @param count number of elements in each array
23+
*/
24+
extern void (* pmin2)(float *dst, const float *src, size_t count);
25+
26+
/**
27+
* Compute minimum values between two arrays with disregarded sign:
28+
* dst[i] = (abs(dst[i]) < abs(src[i])) ? dst[i] : src[i]
29+
* @param dst destination array
30+
* @param src source array
31+
* @param count number of elements in each array
32+
*/
33+
extern void (* psmin2)(float *dst, const float *src, size_t count);
34+
35+
/**
36+
* Compute absolute minimum values between two arrays:
37+
* dst[i] = (abs(dst[i]) < abs(src[i])) ? dst[i] : src[i]
38+
* @param dst destination array
39+
* @param src source array
40+
* @param count number of elements in each array
41+
*/
42+
extern void (* pamin2)(float *dst, const float *src, size_t count);
43+
44+
/**
45+
* Compute maximum values between two arrays:
46+
* dst[i] = max(dst[i], src[i])
47+
* @param dst destination array
48+
* @param src source array
49+
* @param count number of elements in each array
50+
*/
51+
extern void (* pmax2)(float *dst, const float *src, size_t count);
52+
53+
/**
54+
* Compute maximum values between two arrays with disregarded sign:
55+
* dst[i] = (abs(dst[i]) < abs(src[i])) ? src[i] : dst[i]
56+
* @param dst destination array
57+
* @param src source array
58+
* @param count number of elements in each array
59+
*/
60+
extern void (* psmax2)(float *dst, const float *src, size_t count);
61+
62+
/**
63+
* Compute absolute maximum values between two arrays:
64+
* dst[i] = (abs(dst[i]) < abs(src[i])) ? src[i] : dst[i]
65+
* @param dst destination array
66+
* @param src source array
67+
* @param count number of elements in each array
68+
*/
69+
extern void (* pamax2)(float *dst, const float *src, size_t count);
70+
71+
/**
72+
* Compute minimum values between two arrays:
73+
* dst[i] = min(a[i], b[i])
74+
* @param dst destination array
75+
* @param src source array
76+
* @param count number of elements in each array
77+
*/
78+
extern void (* pmin3)(float *dst, const float *a, const float *b, size_t count);
79+
80+
/**
81+
* Compute minimum values between two arrays with disregarded sign:
82+
* dst[i] = (abs(a[i]) < abs(b[i])) ? a[i] : b[i]
83+
* @param dst destination array
84+
* @param src source array
85+
* @param count number of elements in each array
86+
*/
87+
extern void (* psmin3)(float *dst, const float *a, const float *b, size_t count);
88+
89+
/**
90+
* Compute absolute minimum values between two arrays:
91+
* dst[i] = (abs(a[i]) < abs(b[i])) ? a[i] : b[i]
92+
* @param dst destination array
93+
* @param src source array
94+
* @param count number of elements in each array
95+
*/
96+
extern void (* pamin3)(float *dst, const float *a, const float *b, size_t count);
97+
98+
/**
99+
* Compute maximum values between two arrays:
100+
* dst[i] = max(a[i], b[i])
101+
* @param dst destination array
102+
* @param src source array
103+
* @param count number of elements in each array
104+
*/
105+
extern void (* pmax3)(float *dst, const float *a, const float *b, size_t count);
106+
107+
/**
108+
* Compute maximum values between two arrays with disregarded sign:
109+
* dst[i] = (abs(a[i]) < b(src[i])) ? b[i] : a[i]
110+
* @param dst destination array
111+
* @param src source array
112+
* @param count number of elements in each array
113+
*/
114+
extern void (* psmax3)(float *dst, const float *a, const float *b, size_t count);
115+
116+
/**
117+
* Compute absolute minimum values between two arrays:
118+
* dst[i] = (abs(a[i]) < abs(b[i])) ? b[i] : a[i]
119+
* @param dst destination array
120+
* @param src source array
121+
* @param count number of elements in each array
122+
*/
123+
extern void (* pamax3)(float *dst, const float *a, const float *b, size_t count);
124+
}
125+
}
126+
127+
128+
129+
#endif /* INCLUDE_LSP_PLUG_IN_DSP_COMMON_PMATH_MINMAX_H_ */

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
// Define version of headers
1212
#define LSP_DSP_LIB_MAJOR 0
1313
#define LSP_DSP_LIB_MINOR 5
14-
#define LSP_DSP_LIB_MICRO 2
14+
#define LSP_DSP_LIB_MICRO 3
1515

1616
#ifdef LSP_DSP_LIB_BUILTIN
1717
#define LSP_DSP_LIB_EXPORT

0 commit comments

Comments
 (0)