Commit graph

120 commits

Author SHA1 Message Date
Gregory Maxwell
9743bf38ca Switch iteration over channels to the do{}while(); construct in order to inform the compiler that the these loops execute at least once. (This results in more intelligent output from the clang static analysis tool and should also produce faster code on at least some architectures.) 2010-11-04 23:52:43 -04:00
Jean-Marc Valin
27fc0c4290 s/const/static const/ 2010-10-18 15:10:33 -04:00
Jean-Marc Valin
844f00def9 Don't take into account silence for the coarse energy means 2010-10-12 22:18:09 -04:00
Jean-Marc Valin
8226ac083e Retrained coarse energy mean and beta coefficients 2010-10-09 21:07:51 -04:00
Jean-Marc Valin
b1fe4f60e6 Fixes a fixed-point overflow on 16-bit architectures 2010-09-29 18:05:20 -04:00
Jean-Marc Valin
cb2c77c68e Add an extra safety bit in intra_decision() 2010-09-14 16:43:35 -04:00
Jean-Marc Valin
ba760bc525 Fixes rare overflow in intra_decision() 2010-09-14 16:06:22 -04:00
Jean-Marc Valin
1b36d6c8b6 Complexity setting now controls two-pass coarse energy quantization 2010-08-31 17:21:52 -04:00
Jean-Marc Valin
736efd6909 Fixes some MSVC warnings 2010-08-31 11:52:45 -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
bb5288174d coarse probability model in static modes too 2010-08-25 22:12:18 -04:00
Jean-Marc Valin
6ac26ecf2d Fixes a stereo bug introduced in the previous commit 2010-08-11 20:38:19 -04:00
Jean-Marc Valin
bb338a9317 Choosing intra frame energy when it's cheaper than inter 2010-08-10 13:20:21 -04:00
Jean-Marc Valin
5e7f02de2c Moving intra decision to quant_coarse_energy() 2010-08-08 09:48:22 -04:00
Jean-Marc Valin
f412a99e2a comments 2010-08-06 17:04:13 -04:00
Jean-Marc Valin
0777135275 eMeans[] quantized to 8 bits 2010-08-06 16:34:58 -04:00
Jean-Marc Valin
504fb3c189 Using the real spectral means instead of the ones
after inter-band prediction
2010-08-06 15:56:22 -04:00
Jean-Marc Valin
bc272de74b Code simplifications for log->amplitude conversion 2010-08-02 09:41:31 -04:00
Jean-Marc Valin
617af25e5c Cleaning up intra_decision() 2010-07-23 16:54:45 -04:00
Jean-Marc Valin
ca6533cd88 Energy quantization tuning.
Prediction coefficient now depends on the frame size. Also, the pdfs and means
have been adjusted and better quantized. This breaks compatibility of course.
2010-07-23 16:10:36 -04:00
Jean-Marc Valin
6bf3b0a7a1 The coarse energy budget is no longer part of the bit-stream.
It is now the encoder's responsability to take care of it to avoid
busting the budget.
2010-07-19 14:32:40 -04:00
Jean-Marc Valin
9d785afb67 Encoder now has a way to check whether an error has occurred 2010-07-18 09:42:05 -04:00
Jean-Marc Valin
525d7cfdc4 Support for adjusting the end band 2010-07-13 18:18:23 -04:00
Jean-Marc Valin
a01106587c Improved quality of small frame sizes at low bitrate.
Adding a temporal energy floor to prevent extremely small values when there's
only one bin in the band.
2010-06-23 15:22:54 -04:00
Jean-Marc Valin
47ad4a0938 Doing the log2Amp() just in one place 2010-06-05 01:18:40 -04:00
Jean-Marc Valin
c4ac57023c Fixed a long-standing rare mismatch
In cases where the coarse energy quantizer wasn't able to
go down fast enough, we could have a negative error that didn't
get clamped.
2010-05-26 15:04:41 -04:00
Jean-Marc Valin
b450ed48ae Removed unnecessary calls to log2Amp() 2010-04-18 22:47:58 -04:00
Jean-Marc Valin
8974f00d53 fixed-point: improving accuracy of the energy prediction 2010-03-20 00:41:39 -04:00
Jean-Marc Valin
c7b01bad50 fixed-point: slightly increasing the decoder accuracy again 2010-03-19 23:17:28 -04:00
Jean-Marc Valin
bd0610d21b Increasing log energy resolution 2010-03-13 10:04:19 -05:00
Jean-Marc Valin
5503f11a3d Using the mean energy even when start>0 2010-03-12 22:00:10 -05:00
Jean-Marc Valin
210ccafaff Improves fixed-point precision for quant_coarse_energy 2010-03-11 22:20:19 -05:00
Jean-Marc Valin
3a0bc3d95c Allowing CELT to skip the low frequencies 2010-02-25 22:46:55 -05:00
George de Vries
6fd0270621 Fixing (read) array overrun for 1024-sample frames. 2009-12-02 20:59:44 -05:00
Jean-Marc Valin
ab4dcc5c90 Allow coarse energy to take almost all the bits. Also, fixed a some issues with
the VBR rate controller.
2009-10-21 07:08:27 -04:00
Jean-Marc Valin
328b8bd7fc fixed a few trivial bugs: exporting celt_strerror(), changed DB_SCALING to a
shift and removed the chec for DISABLE_STEREO in the mode creation.
2009-10-19 19:07:38 -04: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
30f7f813ea Changed all the celt*int*_t types to remove the _t suffix, which is reserved
by POSIX. The other _t types that are not part of the API are still there
for now. Also, got rid of all that was left of the 64-bit types.
2009-10-17 14:35:13 -04:00
Jean-Marc Valin
bf2398b049 first step for removing the number of channels from the mode 2009-10-15 07:28:19 -04:00
Jean-Marc Valin
e2b7616e8a Fixing a few bugs introduced in the energy interleaving changes and due to
side effects of "continue" statements.
2009-06-17 22:39:46 -04:00
Jean-Marc Valin
b0b23a3579 Interleaving the left and right final fine energy bits 2009-06-17 21:24:33 -04:00
Jean-Marc Valin
fb1b4dae9f Interleaving the left and right fine energy 2009-06-17 20:37:45 -04:00
Jean-Marc Valin
1b7e9c419a intealeaving the left and right coarse energy 2009-06-17 08:02:36 -04:00
Jean-Marc Valin
66fb246219 removing redundant calls to exp2() 2009-06-14 12:31:33 -04:00
Jean-Marc Valin
095abafcb7 Simplifying the stereo energy quantisation functions now that energy is
de-interleaved
2009-06-14 09:29:51 -04:00
Jean-Marc Valin
83c26e713c Now storing the band energies in de-interleaved format when doing stereo 2009-06-14 09:19:51 -04:00
Jean-Marc Valin
7a56741b2e removing redundant calls to log2() 2009-06-13 23:02:54 -04:00
Jean-Marc Valin
a76a5e8f0c Better ebits rounding and making it possible to add remaining ebits even to
bands that weren't rounded down.
2009-06-10 22:46:27 -04:00
Jean-Marc Valin
52cb5fb3f6 Adding extra fine bits only when we have rounded down in the allocation 2009-06-10 08:08:55 -04:00