Displaying 20 results from an estimated 20 matches for "ne10_fft_state_float32_t".
2015 May 15
0
[RFC V3 7/8] armv7, armv8: Optimize fixed point fft using NE10 library
...e10_fft.c
+++ b/celt/arm/celt_ne10_fft.c
@@ -45,15 +45,30 @@
#include "stack_alloc.h"
#if !defined(FIXED_POINT)
-#ifdef CUSTOM_MODES
+#define NE10_FFT_ALLOC_C2C_TYPE_NEON ne10_fft_alloc_c2c_float32_neon
+#define NE10_FFT_CFG_TYPE_T ne10_fft_cfg_float32_t
+#define NE10_FFT_STATE_TYPE_T ne10_fft_state_float32_t
+#define NE10_FFT_DESTROY_C2C_TYPE ne10_fft_destroy_c2c_float32
+#define NE10_FFT_CPX_TYPE_T ne10_fft_cpx_float32_t
+#define NE10_FFT_C2C_1D_TYPE_NEON ne10_fft_c2c_1d_float32_neon
+#else
+#define NE10_FFT_ALLOC_C2C_TYPE_NEON(nfft) ne10_fft_alloc_c2c_int32_neon(nfft)
+#define NE10_FFT_CFG_TYPE_T ne1...
2015 Feb 03
2
opus Digest, Vol 72, Issue 17
...h Phil at NE10_ARM. He committed
> to two changes:
> 1. Change API to address usage of _t from NE10 api for following types:
> ne10_int32_t ------> will become ----> ne10_int32
> ne10_fft_cpx_float32_t ------> will become ----> ne10_fft_cpx_float32
> ne10_fft_state_float32_t ------> will become ---> ne10_fft_state_float32
> ne10_fft_cfg_float32_t -----> will become ----> ne10_fft_cfg_float32
>
> 2. Provide scaling as argument to ne10_fft_c2c_1d_float32_neon() and
> remove need for one buffer on stack (ALLOC(tempin, st->nfft,
> ne10_ff...
2015 Jan 30
1
[RFC PATCH v1 2/2] armv7(float): Optimize encode usecase using NE10 library
Viswanath Puttagunta wrote:
> Is the peak stack usage a complete blocker in current form?
Since this only affects people who enable NE10, I don't think this is a
blocker.
2015 Feb 04
0
[RFC PATCH v2] armv7(float): Optimize encode usecase using NE10 library
...0_fft_cfg_float32_t)st->arch_fft->priv;
+ if (cfg)
+ ne10_fft_destroy_c2c_float32(cfg);
+ opus_free(st->arch_fft);
+}
+#endif
+void opus_fft_float_neon(const kiss_fft_state *st,
+ const kiss_fft_cpx *fin,
+ kiss_fft_cpx *fout)
+{
+ ne10_fft_state_float32_t state;
+ ne10_fft_cfg_float32_t cfg = &state;
+ VARDECL(ne10_fft_cpx_float32_t, buffer);
+ SAVE_STACK;
+ ALLOC(buffer, st->nfft, ne10_fft_cpx_float32_t);
+
+ if (!st->arch_fft->is_supported) {
+ /* This nfft length (scaled fft) not supported in NE10 */
+ opus_fft_c(...
2015 Mar 03
0
[RFC PATCHv3] armv7(float): Optimize encode usecase using NE10 library
...0_fft_cfg_float32_t)st->arch_fft->priv;
+ if (cfg)
+ ne10_fft_destroy_c2c_float32(cfg);
+ opus_free(st->arch_fft);
+}
+#endif
+void opus_fft_float_neon(const kiss_fft_state *st,
+ const kiss_fft_cpx *fin,
+ kiss_fft_cpx *fout)
+{
+ ne10_fft_state_float32_t state;
+ ne10_fft_cfg_float32_t cfg = &state;
+ VARDECL(ne10_fft_cpx_float32_t, buffer);
+ SAVE_STACK;
+ ALLOC(buffer, st->nfft, ne10_fft_cpx_float32_t);
+
+ if (!st->arch_fft->is_supported) {
+ /* This nfft length (scaled fft) not supported in NE10 */
+ opus_fft_c(...
2015 May 08
0
[[RFC PATCH v2]: Ne10 fft fixed and previous 1/8] armv7(float): Optimize encode usecase using NE10 library
...0_fft_cfg_float32_t)st->arch_fft->priv;
+ if (cfg)
+ ne10_fft_destroy_c2c_float32(cfg);
+ opus_free(st->arch_fft);
+}
+#endif
+void opus_fft_float_neon(const kiss_fft_state *st,
+ const kiss_fft_cpx *fin,
+ kiss_fft_cpx *fout)
+{
+ ne10_fft_state_float32_t state;
+ ne10_fft_cfg_float32_t cfg = &state;
+ VARDECL(ne10_fft_cpx_float32_t, buffer);
+ SAVE_STACK;
+ ALLOC(buffer, st->nfft, ne10_fft_cpx_float32_t);
+
+ if (!st->arch_fft->is_supported) {
+ /* This nfft length (scaled fft) not supported in NE10 */
+ opus_fft_c(...
2015 Mar 03
1
[RFC PATCH v4] Enable optimize using libNe10
Changes from RFC PATCH v3
- Just rebased on tip
- For all else, please see notes from RFC PATCH v3 at
http://lists.xiph.org/pipermail/opus/2015-March/002902.html
- latest wip opus tree/branch
https://git.linaro.org/people/viswanath.puttagunta/Ne10.git
branch: rfcv4_final_fft_ne10
Viswanath Puttagunta (1):
armv7(float): Optimize encode usecase using NE10 library
Makefile.am
2015 Feb 04
4
[RFC PATCH v2] Encode optimize using libNe10
Changes from RFC PATCH v1:
- passing arch parameter explicitly
- reduced stack usage by ~3.5K by using scaled NE10 fft version
- moved all optimization array functions to arm_celt_map.c
- Other cleanups pointed out by Timothy
Phil,
As you mentioned earlier, could you please address all
compile and linker errors/warnings coming out of Ne10 library?
You can find my working Ne10 repo at [1]
You
2015 Feb 04
0
opus Digest, Vol 72, Issue 17
...He committed
>> to two changes:
>> 1. Change API to address usage of _t from NE10 api for following types:
>> ne10_int32_t ------> will become ----> ne10_int32
>> ne10_fft_cpx_float32_t ------> will become ----> ne10_fft_cpx_float32
>> ne10_fft_state_float32_t ------> will become ---> ne10_fft_state_float32
>> ne10_fft_cfg_float32_t -----> will become ----> ne10_fft_cfg_float32
>>
>> 2. Provide scaling as argument to ne10_fft_c2c_1d_float32_neon() and
>> remove need for one buffer on stack (ALLOC(tempin, st->nf...
2015 Mar 03
2
[RFC PATCHv3] Encode optimize using libNe10
Changes from RFC PATCH v2
- fixed compile issue when just compiling for --enable-intrinsics
for ARMv7 without NE10
- Notes for NE10:
- All compile/link warnings are now in upstream NE10
- Only patch pending upstream in NE10 is the one that
needs to add -funsafe-math-optimizations for ARMv7
targets.
- Phil Wang @ ARM is working on getting this fixed.
- Note that even without
2015 Jan 20
6
[RFC PATCH v1 0/2] Encode optimize using libNE10
Hello opus-dev,
I've been cooking up this patchset to integrate NE10 library into opus.
Current patchset focuses on encode use case mainly effecting performance of
clt_mdct_forward() and opus_fft() (for float only)
Glad to report the following on Encode use case:
(Measured on my Beaglebone Black Cortex-A8 board)
- Performance improvement for encode use case ~= 12.34% (Based on time -p
2015 Mar 04
0
[RFC PATCH v1] armv7(float): Optimize decode usecase using NE10 library
...0_fft.c
+++ b/celt/arm/celt_ne10_fft.c
@@ -118,3 +118,29 @@ void opus_fft_float_neon(const kiss_fft_state *st,
}
RESTORE_STACK;
}
+
+void opus_ifft_float_neon(const kiss_fft_state *st,
+ const kiss_fft_cpx *fin,
+ kiss_fft_cpx *fout)
+{
+ ne10_fft_state_float32_t state;
+ ne10_fft_cfg_float32_t cfg = &state;
+ VARDECL(ne10_fft_cpx_float32_t, buffer);
+ SAVE_STACK;
+ ALLOC(buffer, st->nfft, ne10_fft_cpx_float32_t);
+
+ if (!st->arch_fft->is_supported) {
+ /* This nfft length (scaled fft) not supported in NE10 */
+ opus_ifft_c...
2015 Apr 28
0
[RFC PATCH v1 2/8] armv7(float): Optimize decode usecase using NE10 library
...0_fft.c
+++ b/celt/arm/celt_ne10_fft.c
@@ -118,3 +118,29 @@ void opus_fft_float_neon(const kiss_fft_state *st,
}
RESTORE_STACK;
}
+
+void opus_ifft_float_neon(const kiss_fft_state *st,
+ const kiss_fft_cpx *fin,
+ kiss_fft_cpx *fout)
+{
+ ne10_fft_state_float32_t state;
+ ne10_fft_cfg_float32_t cfg = &state;
+ VARDECL(ne10_fft_cpx_float32_t, buffer);
+ SAVE_STACK;
+ ALLOC(buffer, st->nfft, ne10_fft_cpx_float32_t);
+
+ if (!st->arch_fft->is_supported) {
+ /* This nfft length (scaled fft) not supported in NE10 */
+ opus_ifft_c...
2015 Jan 20
0
[RFC PATCH v1 2/2] armv7(float): Optimize encode usecase using NE10 library
...mdct.kfft[k]->priv;
+ fprintf(file, "{%f,%f},%c", cfg->twiddles[j].r, cfg->twiddles[j].i,(j+4)%3==0?'\n':' ');
+ }
+ fprintf (file, "};\n");
+ }
+
+ for(k=0;k<=mode->mdct.maxshift;k++) {
+ fprintf(file, "static const ne10_fft_state_float32_t cfg_arch_%d = {\n",
+ mode->mdct.kfft[k]->nfft);
+ cfg = (ne10_fft_cfg_float32_t)mode->mdct.kfft[k]->priv;
+ fprintf(file, "%d,\n", cfg->nfft);
+ fprintf(file, "(ne10_int32_t *)ne10_factors_%d,\n", mode->mdct.kfft[k]->nfft);...
2015 Mar 04
1
[RFC PATCH v1] Decode(float) optimize using libNe10
Hello All,
I extended the libNE10 optimizations for float towards
mdct_backwards/opus_ifft.
I am able to get about 14.26% improvement for Decode use
case now on my Beaglebone Black. Please see [1] for measurements.
Questions
1. Since this patch needs to go in after Encode [2] patch)
should I submit this as patch series?
2. Since Jonathan Lennox posted intrinsics cleanup [3]
patch, should
2015 May 08
8
[RFC PATCH v2]: Ne10 fft fixed and previous 0/8]
Hi All,
As per Timothy's suggestion, disabling mdct_forward
for fixed point. Only effects
armv7,armv8: Extend fixed fft NE10 optimizations to mdct
Rest of patches are same as in [1]
For reference, latest wip code for opus is at [2]
Still working with NE10 team at ARM to get corner cases of
mdct_forward. Will update with another patch
when issue in NE10 gets fixed.
Regards,
Vish
[1]:
2015 May 15
11
[RFC V3 0/8] Ne10 fft fixed and previous
Hi All,
Changes from RFC v2 [1]
armv7,armv8: Extend fixed fft NE10 optimizations to mdct
- Overflow issue fixed by Phil at ARM. Ne10 wip at [2]. Should be upstream soon.
- So, re-enabled using fixed fft for mdct_forward which was disabled in RFCv2
armv7,armv8: Optimize fixed point fft using NE10 library
- Thanks to Jonathan Lennox, fixed some build fixes on iOS and some copy-paste errors
Rest
2015 Apr 28
10
[RFC PATCH v1 0/8] Ne10 fft fixed and previous
Hello Timothy / Jean-Marc / opus-dev,
This patch series is follow up on work I posted on [1].
In addition to what was posted on [1], this patch series mainly
integrates Fixed point FFT implementations in NE10 library into opus.
You can view my opus wip code at [2].
Note that while I found some issues both with the NE10 library(fixed fft)
and with Linaro toolchain (armv8 intrinsics), the work
2015 Mar 18
5
[RFC PATCH v1 0/4] Enable aarch64 intrinsics/Ne10
Hi All,
Since I continue to base my work on top of Jonathan's patch,
and my previous Ne10 fft/ifft/mdct_forward/backward patches,
I thought it would be better to just post all new patches
as a patch series. Please let me know if anyone disagrees
with this approach.
You can see wip branch of all latest patches at
https://git.linaro.org/people/viswanath.puttagunta/opus.git
Branch:
2015 Mar 31
6
[RFC PATCH v1 0/5] aarch64: celt_pitch_xcorr: Fixed point series
Hi Timothy,
As I mentioned earlier [1], I now fixed compile issues
with fixed point and resubmitting the patch.
I also have new patch that does intrinsics optimizations
for celt_pitch_xcorr targetting aarch64.
You can find my latest work-in-progress branch at [2]
For reference, you can use the Ne10 pre-built libraries
at [3]
Note that I am working with Phil at ARM to get my patch at [4]