Commit graph

65 commits

Author SHA1 Message Date
Jean-Marc Valin
27169ca9d0 Addressing all the FIXMEs in the code
Includes better error handling in fft/mdct init
2011-05-16 14:10:04 -04:00
Jean-Marc Valin
3806c1d738 Relicensing under the simplified (2-clause) BSD license
Got authorization from all copyright holders
2011-02-09 22:37:41 -05:00
Jean-Marc Valin
5ad35bf3bf Enabling the standard static mode by default 2011-01-28 22:42:09 -05:00
Jean-Marc Valin
c5792dee9d First shot at automatically adjusting the "allocation trim" for stereo.
Also fixed a fixed-point breakage.
2010-10-19 14:24:50 -04:00
Jean-Marc Valin
e0aa9d185a Removing dead code found by LLVM's static analysis 2010-10-17 16:25:56 -04:00
Jean-Marc Valin
736efd6909 Fixes some MSVC warnings 2010-08-31 11:52:45 -04:00
Jean-Marc Valin
f67b4476a0 More IMDCT de-uglification 2010-08-27 01:32:40 -04:00
Jean-Marc Valin
5d937c0223 Disabling mdct and fft init code with static modes 2010-08-26 02:04:03 -04:00
Jean-Marc Valin
0ff9be6aec Fixed an old issue where the fixed-point MDCT twiddles were stored as 32-bit values 2010-08-25 22:20:35 -04:00
Jean-Marc Valin
bb5288174d coarse probability model in static modes too 2010-08-25 22:12:18 -04:00
Jean-Marc Valin
31b189b419 static modes update for MDCT 2010-08-25 21:21:43 -04:00
Jean-Marc Valin
3fc0aada01 FFT cleanup 2010-08-25 17:15:05 -04:00
Jean-Marc Valin
8a6ce05931 More FFT cleanup 2010-08-03 16:49:22 -04:00
Jean-Marc Valin
f81a60ca56 DOUBLE_PRECISION and MIXED_PRECISION no longer need to be defined 2010-08-03 15:47:54 -04:00
Jean-Marc Valin
6c5816ea84 Sharing of the twiddles across multiple FFTs 2010-07-08 20:54:32 -04:00
Jean-Marc Valin
72513f3cc7 Sharing twiddle factors across all MDCTs 2010-07-07 21:26:38 -04:00
Benjamin Jemlich
bb4f63f4a0 Compile fix for MSVC 2010-06-21 09:07:40 -04:00
Jean-Marc Valin
f7547a4e8e Shrinking the MDCT's table by separately rotating by the 1/(8N) factor 2010-05-07 20:57:48 -04:00
Jean-Marc Valin
628c025373 Converted a few double-precision constants to single precision 2010-04-16 20:57:56 -04:00
Jean-Marc Valin
6d584acd95 Renamed MDCT functions to avoid symbol clashes with Vorbis 2009-11-21 21:57:44 -05:00
Jean-Marc Valin
234969c903 Removed the _t from all the celt*_t types to avoid clashing with POSIX 2009-10-17 22:12:42 -04:00
Jean-Marc Valin
8b2ff0da5a Updated copyright notices 2009-10-17 21:40:10 -04:00
Jean-Marc Valin
9714f66d5f Disabling some checks for the C55 2009-08-12 20:29:57 -04:00
Gregory Maxwell
dc67fa9a4c Handle malloc failure in mode_create gracefully without leaking memory. 2009-06-04 21:51:12 -04:00
Jean-Marc Valin
3ccf3a5655 Reverted to the old MDCT behaviour of only doing down-scaling in the FFT. 2008-04-22 17:08:59 +10:00
Jean-Marc Valin
8ddd7f400d mdct_backward now does the WOLA, so there isn't much left in compute_inv_mdcts 2008-04-22 13:37:16 +10:00
Jean-Marc Valin
4989c1212a Moved the windowing from compute_inv_mdcts() to mdct_backward() 2008-04-22 12:18:36 +10:00
Jean-Marc Valin
447e5b8fc6 Separated the pre-rotate from the window+shuffling and further simplified
everything.
2008-04-22 10:13:25 +10:00
Jean-Marc Valin
ef0d5f15c7 Further simplifications to the forward mdct 2008-04-22 09:49:22 +10:00
Jean-Marc Valin
41880805ab non-negative mdct input index 2008-04-22 07:50:50 +10:00
Jean-Marc Valin
30e1b4d36c Moved the windowing operation from compute_mdcts() to mdct_forward() in an
attempt to reduce copying.
2008-04-22 00:10:52 +10:00
Jean-Marc Valin
884916fb27 better mdct_backward() indexing 2008-04-19 12:53:43 +10:00
Jean-Marc Valin
39aad911d9 Made twiddle pointer in mdct more explicit 2008-04-17 07:29:53 +10:00
Jean-Marc Valin
c1a4c2ec44 some index work (simplifications for dumb compilers) on IMDCT 2008-04-10 18:54:02 +10:00
Jean-Marc Valin
df9275b31a Not all compilers are equal -- making it clearer how the MDCT indexing is done 2008-04-10 14:38:14 +10:00
Jean-Marc Valin
bd2828f64b Decision on whether to use pitch is now taken only based on energy in the
first three bands (instead of total MDCT window energy)
2008-03-26 08:10:27 +11:00
Jean-Marc Valin
3203474732 Using restrict to make it clear there's no aliasing issues in the mdct. 2008-03-22 11:23:57 +11:00
Jean-Marc Valin
a536f77202 Added a few "restrict" keywords and changed some divisions to shifts 2008-03-22 09:01:50 +11:00
Jean-Marc Valin
32d8c10df9 Removed potentially unused var in MDCT init 2008-03-21 13:11:16 +11:00
Jean-Marc Valin
6e09f680f1 fixed-point: fix for 32-bit TI FFT 2008-03-21 12:47:41 +11:00
Jean-Marc Valin
70162a4f82 fixed-point: Wrapper for the 32-bit complex FFT used in the MDCT so we can use
the TI dsplib FFT.
2008-03-21 12:09:27 +11:00
Jean-Marc Valin
c7e0b76c06 Making sure not to use the C library calls directly 2008-03-16 07:55:29 +11:00
Jean-Marc Valin
31b79d1993 Changed definition of VARDECL to make it more flexible. No actual code change. 2008-03-12 17:17:23 +11:00
Jean-Marc Valin
c209c342bf fixed-point: defined HALF32() and used it for the forward mdct. 2008-03-07 17:50:45 +11:00
Jean-Marc Valin
a78dc946cd Making 16-bit compilers happy 2008-03-05 08:15:55 +11:00
Jean-Marc Valin
d748cd5570 Another C90-fying pass. Fixed some warnings in the process. 2008-03-01 07:27:03 +11:00
Jean-Marc Valin
81b38c2295 Moved mdct state and window to the mode so it can be shared between multiple
encoders and decoders.
2008-02-29 21:08:49 +11:00
Jean-Marc Valin
877b1975b6 fixed-point: converted intra prediction and folding, unb0rked mixed-precision 2008-02-29 16:40:39 +11:00
Jean-Marc Valin
8600f69f79 Initial support for a managed stack/scratchpad. Still needs some work. 2008-02-29 15:14:12 +11:00
Jean-Marc Valin
9a5f3d2e6d 16-bit fixes and warning fixes 2008-02-26 10:38:17 +11:00