Displaying 20 results from an estimated 29 matches for "mdct_lookup".
2015 Mar 04
0
[RFC PATCH v1] armv7(float): Optimize decode usecase using NE10 library
...kiss_fft_cpx *fout) = {
+ opus_ifft_c, /* ARMv4 */
+ opus_ifft_c, /* EDSP */
+ opus_ifft_c, /* Media */
+ opus_ifft_float_neon /* Neon with NE10 */
+};
+
void (*const CLT_MDCT_FORWARD_IMPL[OPUS_ARCHMASK+1])(const mdct_lookup *l,
kiss_fft_scalar *in,
kiss_fft_scalar * OPUS_RESTRICT out,
@@ -90,6 +99,19 @@ void (*const CLT_MDCT_FORWARD_IMPL[OPUS_ARCHMASK+1])(const mdct_lookup *l,
clt_mdct_forward_c, /...
2015 Apr 28
0
[RFC PATCH v1 2/8] armv7(float): Optimize decode usecase using NE10 library
...kiss_fft_cpx *fout) = {
+ opus_ifft_c, /* ARMv4 */
+ opus_ifft_c, /* EDSP */
+ opus_ifft_c, /* Media */
+ opus_ifft_float_neon /* Neon with NE10 */
+};
+
void (*const CLT_MDCT_FORWARD_IMPL[OPUS_ARCHMASK+1])(const mdct_lookup *l,
kiss_fft_scalar *in,
kiss_fft_scalar * OPUS_RESTRICT out,
@@ -90,6 +99,19 @@ void (*const CLT_MDCT_FORWARD_IMPL[OPUS_ARCHMASK+1])(const mdct_lookup *l,
clt_mdct_forward_c, /...
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
2014 Feb 21
2
Make check failure on clone from 31 January
...s a compiler bug: we are lying to the optimizer by
telling it that a pointer is restrict when in fact it isn't.
This can be fixed like so:
diff --git a/celt/mdct.c b/celt/mdct.c
index 1634e8e..fa5098c 100644
--- a/celt/mdct.c
+++ b/celt/mdct.c
@@ -276,8 +276,8 @@ void clt_mdct_backward(const mdct_lookup *l,
kiss_fft_scalar *in, kiss_fft_scala
/* Post-rotate and de-shuffle from both ends of the buffer at once to
make
it in-place. */
{
- kiss_fft_scalar * OPUS_RESTRICT yp0 = out+(overlap>>1);
- kiss_fft_scalar * OPUS_RESTRICT yp1 = out+(overlap>>1)+N2-2;
+ k...
2002 Aug 13
1
mdct.c pointer to array conversion
...I'm attempting to convert all the pointers to arrays the mdct_backward
function so it can be partitioned off for a hardware implementation.
Although this code is quite short I'm finding it a little tricky.
As it stands, mdct_backward is passed values by reference i.e.
void mdct_backward(mdct_lookup *init, DATA_TYPE *in, DATA_TYPE *out)
o my modified version starts
void mdct_backward_2(mdct_lookup init, DATA_TYPE in[], DATA_TYPE out[])
The function contains statements such as
DATA_TYPE *iX = in + n2-7
from which it appears that iX, oX are being used to index the in[] array
and out[] arra...
2014 Feb 24
1
Make check failure on clone from 31 January
After a few experiments, I found that both alternatives are very similar, and 2~5% slower compared to the following:
diff --git a/celt/mdct.c b/celt/mdct.c
index 1634e8e..e490c3b 100644
--- a/celt/mdct.c
+++ b/celt/mdct.c
@@ -277,7 +277,7 @@ void clt_mdct_backward(const mdct_lookup *l, kiss_fft_scalar *in, kiss_fft_scala
it in-place. */
{
kiss_fft_scalar * OPUS_RESTRICT yp0 = out+(overlap>>1);
- kiss_fft_scalar * OPUS_RESTRICT yp1 = out+(overlap>>1)+N2-2;
+ kiss_fft_scalar * yp1 = yp0+N2-2;
const kiss_twiddle_scalar *t = &tri...
2015 Feb 04
0
[RFC PATCH v2] armv7(float): Optimize encode usecase using NE10 library
...kiss_fft_cpx *fout) = {
+ opus_fft_c, /* ARMv4 */
+ opus_fft_c, /* EDSP */
+ opus_fft_c, /* Media */
+ opus_fft_float_neon /* Neon with NE10 */
+};
+
+void (*const CLT_MDCT_FORWARD_IMPL[OPUS_ARCHMASK+1])(const mdct_lookup *l,
+ kiss_fft_scalar *in,
+ kiss_fft_scalar * OPUS_RESTRICT out,
+ const opus_val16 *window,
+...
2015 Mar 03
0
[RFC PATCHv3] armv7(float): Optimize encode usecase using NE10 library
...kiss_fft_cpx *fout) = {
+ opus_fft_c, /* ARMv4 */
+ opus_fft_c, /* EDSP */
+ opus_fft_c, /* Media */
+ opus_fft_float_neon /* Neon with NE10 */
+};
+
+void (*const CLT_MDCT_FORWARD_IMPL[OPUS_ARCHMASK+1])(const mdct_lookup *l,
+ kiss_fft_scalar *in,
+ kiss_fft_scalar * OPUS_RESTRICT out,
+ const opus_val16 *window,
+...
2015 May 08
0
[[RFC PATCH v2]: Ne10 fft fixed and previous 1/8] armv7(float): Optimize encode usecase using NE10 library
...kiss_fft_cpx *fout) = {
+ opus_fft_c, /* ARMv4 */
+ opus_fft_c, /* EDSP */
+ opus_fft_c, /* Media */
+ opus_fft_float_neon /* Neon with NE10 */
+};
+
+void (*const CLT_MDCT_FORWARD_IMPL[OPUS_ARCHMASK+1])(const mdct_lookup *l,
+ kiss_fft_scalar *in,
+ kiss_fft_scalar * OPUS_RESTRICT out,
+ const opus_val16 *window,
+...
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 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
2014 Feb 22
0
Make check failure on clone from 31 January
...by
> telling it that a pointer is restrict when in fact it isn't.
>
> This can be fixed like so:
>
>
> diff --git a/celt/mdct.c b/celt/mdct.c
> index 1634e8e..fa5098c 100644
> --- a/celt/mdct.c
> +++ b/celt/mdct.c
> @@ -276,8 +276,8 @@ void clt_mdct_backward(const mdct_lookup *l,
> kiss_fft_scalar *in, kiss_fft_scala
> /* Post-rotate and de-shuffle from both ends of the buffer at once to
> make
> it in-place. */
> {
> - kiss_fft_scalar * OPUS_RESTRICT yp0 = out+(overlap>>1);
> - kiss_fft_scalar * OPUS_RESTRICT yp1 =...
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 Jan 20
0
[RFC PATCH v1 2/2] armv7(float): Optimize encode usecase using NE10 library
...DVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*/
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include "kiss_fft.h"
+#include "mdct.h"
+
+#if defined(OPUS_HAVE_RTCD) && defined(HAVE_ARM_NE10)
+
+void (*const CLT_MDCT_FORWARD_ARCH[OPUS_ARCHMASK+1])(const mdct_lookup *l,
+ kiss_fft_scalar *in,
+ kiss_fft_scalar * OPUS_RESTRICT out,
+ const opus_val16 *window,
+ int overlap, int shift, int stride) = {
+ clt_mdct_fo...
2011 Jan 12
2
Crash when using odd frame size
...;
CELTMode->mdct.kfft[0] is not initialized after calling?clt_mdct_init() and when?celt_mode_destroy() is called it tries to dereference this value in kiss_fft_free().
-- Bjoern
Here's the callstack:
!kiss_fft_free(const kiss_fft_state * cfg=0x00000000) ?Line 650 + 0x3 bytes C!clt_mdct_clear(mdct_lookup * l=0x0111bc04) ?Line 103 + 0x10 bytes C!celt_mode_destroy(CELTMode * mode=0x0111bbd8) ?Line 432 + 0xc bytes C!celt_mode_create(int Fs=96000, int frame_size=258, int * error=0x0017fa88) ?Line 413 + 0x9 bytes C
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]