search for: mdct

Displaying 20 results from an estimated 224 matches for "mdct".

2003 May 31
4
faster mdct's
Hello Vorbis folks, I'm one of the FFTW authors (www.fftw.org), and a few days ago I was playing with our codelet generator for fun and modified it to spit out hard-coded MDCTs of small sizes. The code (at jdj.mit.edu/~stevenj/mdct_128nr.c) for 256 samples (128 outputs) seems to be almost twice as fast as the Vorbis MDCT code for that size on my 2.2GHz P-IV (gcc 3.2.2 and flags "-O1 -mcpu=pentium4 -fomit-frame-pointer -fstrict-aliasing -malign-double"), in sin...
2014 Feb 21
2
Make check failure on clone from 31 January
I tracked down the bug to an incorrect use of restrict. I would not consider this 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. */ { - k...
2017 Apr 11
2
MDCT implementation and his overlapped relationship
Dear all I'm working on the implementation of the MDCT for the processor ARM-Cortex-M4 I'm trying to replicate the behavior of the MDCT for several overlapped values however I realized that current implementation of the MDCT is very close to the theory only in case in which we have and overlap exactly equal to N/2 where N is the size of the input...
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_sc...
2010 Jun 02
1
C55xx Linking Error
...pecific optimizations in my config.h file per this <http://lists.xiph.org/pipermail/celt-dev/2008-December/000033.html> post. However, I am getting several "undefined symbol" linking errors that do not make sense to me. According to the error message, these all appear to be part of mdct.obj. But looking at the code in mdct.c, there is no reference to "alloca". Nor have I defined "USE_ALLOCA" since the TI complier does not support it. Can anyone spot an error on my part, or is this yet another quirk of the CCS4 suite (there have been many). Here's a list...
2000 Nov 06
1
Problems compiling with --with-ogg-prefix=xxx
...e --with-ogg-prefix=/home/warren/local make I get the following error during the make: gcc -DPACKAGE=\"libvorbis\" -DVERSION=\"1.0.0\" -DHAVE_ALLOCA_H=1 -DHAVE_ALLOCA=1 -I. -I. -I../include -O20 -ffast-math -mno-ieee-fp -D_REENTRANT -fsigned-char -DUSE_MEMORY_H -Wp,-MD,.deps/mdct.pp -c -fPIC -DPIC mdct.c -o .libs/mdct.lo In file included from mdct.h:22, from mdct.c:40: ../include/vorbis/codec.h:27: ogg/ogg.h: No such file or directory In file included from mdct.c:41: os.h:22: ogg/os_types.h: No such file or directory I have tracked down the problem to li...
2002 Mar 19
1
mdct as hardware
Hi vorbis-dev! I'm working with Pattara in the oggonachip project, and wondering about the implementation of mdct.c as hardware. According your recomendations about using the floating point version, I would say, we have to implement the integerized version of mdct as a core, and use the fpu only to round the input values. By doing that, you think the result would be still acceptable? How feasible is adapt one...
2013 Jul 08
2
Request for MDCT theoretical reference
Dear Experts, Can anybody please direct me to proper MDCT theory reference which will help me understand the code better? I'm trying to optimize MDCT for a embedded platform. So need good understanding about theory behind & implementation. Thanks in advance for your time. Warm Regards, Mahantesh -------------- next part -------------- An HTML a...
2000 Oct 20
2
mdct question
Hi, Can someone tell me which MDCT and invMDCT equation uses? I implemented the invMDCT one given in eusipco.corrected.ps file (handed out by Monty way back) and it produces different time domain samples. I tried both the FFT method and the slow way directly from the equation and couldn't reproduce the results from the origina...
2005 Jan 26
2
Butterflies in mdct.c
In mdct.c there's some functions including some-point butterfly. In 32-point and 16-point there are calling of smaller-point function everytime twice on each half of data. When I looked on it I found that's just linear algebra. So it can be rewritten to matrix multiplication. Some one can say: ther...
2004 Jun 02
4
Transient coding: AAC vs. Vorbis
...AC can encode castanets with much less pre-echo at SS>> ABR 128 kbps, then hopefully there will be an imaginative SS>> (and non-patented) way of doing this in Vorbis without the SS>> bitrate inflation of GTune and QKTune. [Segher Boessenkool] SB> Use some different transform? MDCT isn't the best audio transform SB> ever invented, esp. not for non-steady waveforms. Steven is talking about Vorbis, Segher. Vorbis makes use of the MDCT. <p>Let's see... Vorbis I versus AAC in transient coding... (simplified ASCII art following) audio wave ('-'=low vol...
2003 Jul 12
1
mdct query
Hi, I have a doubt regarding MDCT window size for OggVorbis decoder. Can the MDCT window size vary from 64 samples to 8192 samples? Specification says that "legal frame sizes are powers of two from 64 to 8192 samples" . Is this same as MDCT window size? Please help me out.. Regards, shikha <p>--- >8 ---- List...
2000 Aug 22
1
optimization progress
Hi all, The decoder is down 30% execution time, identical bit output. Didn't get the mdct yet; 1024 point mdct is a bit much to brute-force, and I'm not going to hand-unroll the whole thing either (the machine- unrolled version produced a 1.5M executable; understandably, it wasn't very fast. Still waiting for processors with 1.5M L1 code caches ;-) Slowest parts now are: -- md...
2017 May 03
0
MDCT implementation and his overlapped relationship
...o much for your answer. > > On Thu, Apr 13, 2017 at 8:59 AM, Jean-Marc Valin <jmvalin at jmvalin.ca> > wrote: > >> Hi Diego, >> >> You might find figure 3 or this paper useful: >> https://jmvalin.ca/papers/aes135_opus_celt.pdf >> >> It shows the MDCT window for a 5 ms frame, but the (non-zero) overlap is >> always 120 samples regarless of the frame size. You can either see it as >> partial overlap, or as a full-overlap with a window that has zeros on >> the sides. >> >> Cheers, >> >> Jean-Marc &...
1999 Aug 15
1
Vorbis transform description
...be in another mail. Vorbis is a hybrid transform domain general purpose audio encoder, like MPEG in some respects (it is rooted in much of the same basic theory). For the most part, the similarity comes from the fact that (like nearly all modern audio compressions), Vorbis codes primarily in the MDCT domain, using nominal 50% overlap with a y=sin(2PI*sin^2(x)) window (the window is a bit unique). The current Vorbis code and working spec support switching between two block sizes which must result in power-of-two sized windowed blocks. From here, the details diverge. (Sidetrack note that will m...
2002 Mar 26
2
size of vectors to be fed to MDCT
Hi, as we are trying to implement MDCT in hardware, we are caring now about the "n" (size of input and output vectors to and from MDCT). As I have looked in the code, this "n" is chosen from the Ogg/Vorbis stream data in info.c:_vorbis_unpack_info() which means this "n" can vary aribitrarily (as the power...
2015 May 15
0
[RFC V3 7/8] armv7, armv8: Optimize fixed point fft using NE10 library
...lt/arm/celt_ne10_fft.c | 98 +++++---- celt/arm/fft_arm.h | 26 ++- celt/dump_modes/Makefile | 3 +- celt/dump_modes/dump_modes_arch.h | 6 + celt/dump_modes/dump_modes_arm_ne10.c | 43 ++-- celt/kiss_fft.h | 4 +- celt/mdct.h | 2 +- celt/static_modes_fixed.h | 25 +++ celt/static_modes_fixed_arm_ne10.h | 388 ++++++++++++++++++++++++++++++++++ celt/tests/test_unit_dft.c | 6 +- celt/tests/test_unit_mdct.c | 4 +- celt_headers.mk...
2003 Mar 12
2
encoder block diagram
...cess (as I understood it) WINDOWING - Vorbis uses overlapping windows with sizes between 64 and 8192 Samples (powers of two) - short blocks and one long blocks are used (short blocks must be smaller or equal to long blocks), can be set to any allowed size - selected window size depends on bitrate MDCT - transforms audio data to frequency domain PSYCHOACOUSTIC MODEL - Vorbis uses its own psychoacoustic model - FFT for tonal analys and MDCT for noise analysis Floor - a psychoacoustic floor is created from the data, given from the psychacoustic model - the floor is a spectral envelope and represe...
2002 Aug 21
1
MDCT input and output data blocks
Hi, I'm trying to determine how the frequency data that is passed to the MDCT, and output time domain data obtained from the MDCT, is changed when setting #define MDCT_INTEGERIZED For instance, the trig array, for a size 256 window begins 1.000000 0.000000 0.998795 -0.049068 0.995185 -0.098017 if INTEGERIZED is set, then it begins 16384 0 16364 -803 16305 -1605 which is s...
2003 Jun 03
1
libvorbis install prob
I'm haivng trouble compiling the libvoribis source. I'm getting errors I don't understand, could somebody please look at the below and tell me if they have any ideas?? <p>make[2]: Entering directory `/root/libvorbis-1.0/lib' source='mdct.c' object='mdct.lo' libtool=yes \ depfile='.deps/mdct.Plo' tmpdepfile='.deps/mdct.TPlo' \ depmode=gcc3 /bin/sh ../depcomp \ /bin/sh ../libtool --mode=compile gcc -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STR...