search for: sigproc_fix

Displaying 20 results from an estimated 25 matches for "sigproc_fix".

2015 Aug 05
0
[PATCH 5/8] Arm64 assembly for Silk math.
--- silk/SigProc_FIX.h | 4 +++ silk/arm/SigProc_FIX_arm64.h | 46 ++++++++++++++++++++++++++++++ silk/arm/macros_arm64.h | 66 ++++++++++++++++++++++++++++++++++++++++++++ silk/macros.h | 4 +++ silk_headers.mk | 2 ++ 5 files changed, 122 insertions(+) create mode 100644...
2016 Aug 26
2
[PATCH 9/9] Optimize silk_inner_prod_aligned_scale() for ARM NEON
Created corresponding unit test, and the optimization is bit exact with C function. --- silk/SigProc_FIX.h | 7 ++- silk/arm/arm_silk_map.c | 12 ++++ silk/arm/inner_prod_aligned_arm.h | 58 +++++++++++++++++++ silk/arm/inner_prod_aligned_neon_intr.c | 66 ++++++++++++++++++++++ silk/enc_API.c...
2016 Jul 28
0
[PATCH] Optimize silk_LPC_analysis_filter() for ARM NEON
Created corresponding unit test. --- silk/LPC_analysis_filter.c | 8 +- silk/SigProc_FIX.h | 8 +- silk/arm/LPC_analysis_filter_arm.h | 60 +++++++ silk/arm/LPC_analysis_filter_neon_intr.c | 176 +++++++++++++++++++++ silk/arm/arm_silk_map.c | 14 ++ .../test_unit_optimization_LPC_analysis_filter.c...
2019 May 27
0
opus-1.3.1 patch for ARM Cortex-M4F (single precision)
...4:49:41 +0800 +++ opus-1.3.1/celt/modes.c 2019-05-27 17:18:26 +0800 @@ -71,7 +71,7 @@ static const unsigned char band_allocati #endif /* CUSTOM_MODES_ONLY */ #ifndef M_PI -#define M_PI 3.141592653 +#define M_PI 3.14159265358979f #endif #ifdef CUSTOM_MODES diff -Naupr opus-1.3.1-vanilla/silk/SigProc_FIX.h opus-1.3.1/silk/SigProc_FIX.h --- opus-1.3.1-vanilla/silk/SigProc_FIX.h 2018-09-26 14:49:41 +0800 +++ opus-1.3.1/silk/SigProc_FIX.h 2019-05-27 17:18:59 +0800 @@ -540,7 +540,7 @@ static OPUS_INLINE opus_int32 silk_ROR32 #define silk_max(a, b) (((a) > (b)) ? (a) : (b)) /...
2014 Nov 21
0
[RFC PATCHv1] armv7: celt_pitch_xcorr: Introduce ARM neon intrinsics
...celt/arm/pitch_arm.h | 15 +++++++- celt/pitch.h | 17 ++++++-- celt/tests/test_unit_mathops.c | 2 +- celt/tests/test_unit_rotation.c | 2 +- celt_sources.mk | 3 ++ configure.ac | 56 ++++++++++++++++++++++----- silk/SigProc_FIX.h | 4 +- silk/macros.h | 4 +- 13 files changed, 205 insertions(+), 25 deletions(-) create mode 100644 celt/arm/celt_neon_intr.c diff --git a/Makefile.am b/Makefile.am index e20f7b4..0e9e120 100644 --- a/Makefile.am +++ b/Makefile.am @@ -38,6 +38,12 @@ CELT_S...
2013 May 17
1
[Patch]01-Add ARM5E macros
...ts in 32 bits */ +#undef MULT16_16 +static inline opus_val32 MULT16_16(opus_val16 a, opus_val16 b) +{ + int res; + __asm__( + "smulbb %0, %1, %2;\n" + : "=&r"(res) + : "r"(a), "r"(b) + ); + return res; +} + +#endif diff --git a/silk/SigProc_FIX.h b/silk/SigProc_FIX.h index cf1ab36..bccd73d 100644 --- a/silk/SigProc_FIX.h +++ b/silk/SigProc_FIX.h @@ -576,6 +576,10 @@ static inline opus_int64 silk_max_64(opus_int64 a, opus_int64 b) #include "MacroCount.h" #include "MacroDebug.h" +#ifdef ARM5E_ASM +#include "SigP...
2014 Nov 21
4
[RFC PATCHv1] cover: celt_pitch_xcorr: Introduce ARM neon intrinsics
...celt/arm/pitch_arm.h | 15 +++++++- celt/pitch.h | 17 ++++++-- celt/tests/test_unit_mathops.c | 2 +- celt/tests/test_unit_rotation.c | 2 +- celt_sources.mk | 3 ++ configure.ac | 56 ++++++++++++++++++++++----- silk/SigProc_FIX.h | 4 +- silk/macros.h | 4 +- 13 files changed, 205 insertions(+), 25 deletions(-) create mode 100644 celt/arm/celt_neon_intr.c -- 1.7.9.5
2015 Aug 05
8
[PATCH 0/8] Patches for arm64 (aarch64) support
...h | 19 ------ celt_headers.mk | 1 + configure.ac | 19 ++++++ silk/NSQ.c | 55 +++++------------ silk/NSQ.h | 97 ++++++++++++++++++++++++++++++ silk/NSQ_del_dec.c | 37 +++++------- silk/SigProc_FIX.h | 4 ++ silk/arm/NSQ_neon.c | 130 +++++++++++++++++++++++++++++++++++++++++ silk/arm/NSQ_neon.h | 101 ++++++++++++++++++++++++++++++++ silk/arm/SigProc_FIX_arm64.h | 46 +++++++++++++++ silk/arm/macros_arm64.h | 66 +++++++++++++++++++++ silk/macro...
2015 Nov 07
12
[Aarch64 00/11] Patches to enable Aarch64 (arm64) optimizations, rebased to current master.
...| 20 ------- celt_headers.mk | 1 + configure.ac | 23 +++++++- silk/NSQ.c | 55 +++++------------ silk/NSQ.h | 97 ++++++++++++++++++++++++++++++ silk/NSQ_del_dec.c | 37 +++++------- silk/SigProc_FIX.h | 4 ++ silk/arm/NSQ_neon.c | 130 +++++++++++++++++++++++++++++++++++++++++ silk/arm/NSQ_neon.h | 101 ++++++++++++++++++++++++++++++++ silk/arm/SigProc_FIX_arm64.h | 46 +++++++++++++++ silk/arm/macros_arm64.h | 66 +++++++++++++++++++++ silk/macro...
2015 Aug 03
0
[PATCH 06/10] Remove some unnecessary #includes from x86cpu.c.
...celt/x86/x86cpu.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/celt/x86/x86cpu.c b/celt/x86/x86cpu.c index 9f570af..b901bd9 100644 --- a/celt/x86/x86cpu.c +++ b/celt/x86/x86cpu.c @@ -77,9 +77,6 @@ static void cpuid(unsigned int CPUInfo[4], unsigned int InfoType) #endif -#include "SigProc_FIX.h" -#include "celt_lpc.h" - typedef struct CPU_Feature{ /* SIMD: 128-bit */ int HW_SSE2; -- 2.3.2 (Apple Git-55)
2015 Nov 19
0
[PATCH 2/3] Add Aarch64 intrinsics for saturated add/subtract.
...macros_armv5e.h" #endif +#ifdef OPUS_ARM_PRESUME_AARCH64_NEON_INTR +#include "arm/macros_arm64.h" +#endif + #endif /* SILK_MACROS_H */ diff --git a/silk_headers.mk b/silk_headers.mk index c74ab81..f8bf1d2 100644 --- a/silk_headers.mk +++ b/silk_headers.mk @@ -24,6 +24,7 @@ silk/SigProc_FIX.h \ silk/x86/SigProc_FIX_sse.h \ silk/arm/macros_armv4.h \ silk/arm/macros_armv5e.h \ +silk/arm/macros_arm64.h \ silk/arm/SigProc_FIX_armv4.h \ silk/arm/SigProc_FIX_armv5e.h \ silk/arm/NSQ_neon.h \ -- 2.4.9 (Apple Git-60)
2016 Aug 23
0
[PATCH 8/8] Optimize silk_NSQ_del_dec() for ARM NEON
...on is bit exact with C function. This optimization speeds up SILK encoder on NEON as following. Fixed-point: Complexity 0-5: 0% Complexity 6-7: 6% Complexity 8-9: 10% Complexity 10: 8% Got similar results on floating-point. --- silk/NSQ_del_dec.c | 6 +- silk/SigProc_FIX.h | 4 +- silk/arm/NSQ_del_dec_arm.h | 88 ++ silk/arm/NSQ_del_dec_neon_intr.c | 1125 +++++++++++++++++++++++ silk/arm/arm_silk_map.c | 23 + silk/main.h | 6 +- s...
2016 Aug 23
2
[PATCH 7/8] Update NSQ_LPC_BUF_LENGTH macro.
NSQ_LPC_BUF_LENGTH is independent of DECISION_DELAY. --- silk/define.h | 4 ---- 1 file changed, 4 deletions(-) diff --git a/silk/define.h b/silk/define.h index 781cfdc..1286048 100644 --- a/silk/define.h +++ b/silk/define.h @@ -173,11 +173,7 @@ extern "C" #define MAX_MATRIX_SIZE MAX_LPC_ORDER /* Max of LPC Order and LTP order */ -#if( MAX_LPC_ORDER >
2015 Nov 19
3
[PATCH 1/3] Add configure check for Aarch64-specific Neon intrinsics.
--- configure.ac | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/configure.ac b/configure.ac index 90a06c8..adcb969 100644 --- a/configure.ac +++ b/configure.ac @@ -503,6 +503,26 @@ AS_IF([test x"$enable_intrinsics" = x"yes"],[ [rtcd_support="$rtcd_support (NE10)"]) ]) + OPUS_CHECK_INTRINSICS( +
2016 Jul 14
6
Several patches of ARM NEON optimization
I rebased my previous 3 patches to the current master with minor changes. Patches 1 to 3 replace all my previous submitted patches. Patches 4 and 5 are new. Thanks, Linfeng Zhang
2015 Nov 21
8
[Aarch64 v2 10/18] Clean up some intrinsics-related wording in configure.
--- configure.ac | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/configure.ac b/configure.ac index f52d2c2..e1a6e9b 100644 --- a/configure.ac +++ b/configure.ac @@ -190,7 +190,7 @@ AC_ARG_ENABLE([rtcd], [enable_rtcd=yes]) AC_ARG_ENABLE([intrinsics], - [AS_HELP_STRING([--disable-intrinsics], [Disable intrinsics optimizations for ARM(float) X86(fixed)])],, +
2015 Mar 13
1
[RFC PATCH v3] Intrinsics/RTCD related fixes. Mostly x86.
...+- celt/x86/x86cpu.c | 47 ++++- celt/x86/x86cpu.h | 26 ++- celt_sources.mk | 5 +- configure.ac | 313 ++++++++++++++++++----------- m4/opus-intrinsics.m4 | 29 +++ silk/x86/SigProc_FIX_sse.h | 17 ++ silk/x86/main_sse.h | 48 +++++ silk/x86/x86_silk_map.c | 25 ++- win32/VS2010/celt.vcxproj | 17 +- win32/VS2010/celt.vcxproj.filters | 27 +++ win32/VS2010/silk_common.vcxproj | 17 +- win32/VS2...
2015 Mar 12
1
[RFC PATCHv2] Intrinsics/RTCD related fixes. Mostly x86.
...+- celt/x86/x86cpu.c | 47 ++++- celt/x86/x86cpu.h | 26 ++- celt_sources.mk | 5 +- configure.ac | 312 ++++++++++++++++++----------- m4/opus-intrinsics.m4 | 29 +++ silk/x86/SigProc_FIX_sse.h | 17 ++ silk/x86/main_sse.h | 48 +++++ silk/x86/x86_silk_map.c | 25 ++- win32/VS2010/celt.vcxproj | 17 +- win32/VS2010/celt.vcxproj.filters | 27 +++ win32/VS2010/silk_common.vcxproj | 17 +- win32/VS2...
2015 Mar 02
13
Patch cleaning up Opus x86 intrinsics configury
The attached patch cleans up Opus's x86 intrinsics configury. It: * Makes ?enable-intrinsics work with clang and other non-GCC compilers * Enables RTCD for the floating-point-mode SSE code in Celt. * Disables use of RTCD in cases where the compiler targets an instruction set by default. * Enables the SSE4.1 Silk optimizations that apply to the common parts of Silk when Opus is built in
2015 Dec 23
6
[AArch64 neon intrinsics v4 0/5] Rework Neon intrinsic code for Aarch64 patchset
Following Tim's comments, here are my reworked patches for the Neon intrinsic function patches of of my Aarch64 patchset, i.e. replacing patches 5-8 of the v2 series. Patches 1-4 and 9-18 of the old series still apply unmodified. The one new (as opposed to changed) patch is the first one in this series, to add named constants for the ARM architecture variants. There are also some minor code