opus/libcelt
Timothy B. Terriberry a396e153b9 More anti-collapse fixes, as well as a fold fix.
This changes folding so that the LCG is never used on transients
 (either short blocks or long blocks with increased time
 resolution), except in the case that there's not enough decoded
 spectrum to fold yet.

It also now only subtracts the anti-collapse bit from the total
 allocation in quant_all_bands() when space has actually been
 reserved for it.

Finally, it cleans up some of the fill and collapse_mask tracking
 (this tracking was originally made intentionally sloppy to save
 work, but then converted to replace the existing fill flag at the
 last minute, which can have a number of logical implications).
The changes, in particular:
1) Splits of less than a block now correctly mark the second half
    as filled only if the whole block was filled (previously it
    would also mark it filled if the next block was filled).
2) Splits of less than a block now correctly mark a block as
    un-collapsed if either half was un-collapsed, instead of marking
    the next block as un-collapsed when the high half was.
3) The N=2 stereo special case now keeps its fill mask even when
    itheta==16384; previously this would have gotten cleared,
    despite the fact that we fold into the side in this case.
4) The test against fill for folding now only considers the bits
    corresponding to the current set of blocks.
   Previously it would still fold if any later block was filled.
5) The collapse mask used for the LCG fold data is now correctly
    initialized when B=16 on platforms with a 16-bit int.
6) The high bits on a collapse mask are now cleared after the TF
    resolution changes and interleaving at level 0, instead of
    waiting until the very end.
   This prevents extraneous high flags set on mid from being mixed
    into the side flags for mid-side stereo.
2011-01-26 20:54:13 -05:00
..
_kiss_fft_guts.h Updating dump_modes to include the MDCT and FFT. More work needed. 2010-08-25 18:01:50 -04:00
arch.h Clipping the encoder input to +/-2 to prevent scaling errors 2011-01-23 18:22:14 -05:00
bands.c More anti-collapse fixes, as well as a fold fix. 2011-01-26 20:54:13 -05:00
bands.h More anti-collapse fixes, as well as a fold fix. 2011-01-26 20:54:13 -05:00
c64_fft.c Changed all the celt*int*_t types to remove the _t suffix, which is reserved 2009-10-17 14:35:13 -04:00
c64_fft.h Changed all the celt*int*_t types to remove the _t suffix, which is reserved 2009-10-17 14:35:13 -04:00
celt.c More anti-collapse fixes, as well as a fold fix. 2011-01-26 20:54:13 -05:00
celt.h Add API support for unconstrained VBR 2010-12-05 17:22:06 -05:00
celt_header.h Updated copyright notices 2009-10-17 21:40:10 -04:00
celt_types.h MacOS X typedef fix 2010-09-13 11:23:13 -04:00
cwrs.c FFT cleanup 2010-08-25 17:15:05 -04:00
cwrs.h Removing the rest of the >32-bit PVQ code 2010-05-24 09:05:36 -04:00
dump_modes.c Add coarse energy entropy model tuning. 2010-11-09 17:54:41 +08:00
ecintrin.h Use _BitScanReverse for EC_ILOG with MSVC. 2010-12-23 11:23:50 -05:00
entcode.c Updated copyright notices 2009-10-17 21:40:10 -04:00
entcode.h Clean up some type usage. 2010-12-23 14:33:32 -05:00
entdec.c Clean up some type usage. 2010-12-23 14:33:32 -05:00
entdec.h Changes to ec_dec_cdf() to support 8-bit tables. 2011-01-08 14:57:01 -05:00
entenc.c Fix a typo in ec_byte_write_done(). 2010-12-21 20:16:24 -05:00
entenc.h Changes to ec_dec_cdf() to support 8-bit tables. 2011-01-08 14:57:01 -05:00
fixed_c5x.h Removed the _t from all the celt*_t types to avoid clashing with POSIX 2009-10-17 22:12:42 -04:00
fixed_c6x.h Removed the _t from all the celt*_t types to avoid clashing with POSIX 2009-10-17 22:12:42 -04:00
fixed_debug.h Removed the _t from all the celt*_t types to avoid clashing with POSIX 2009-10-17 22:12:42 -04:00
fixed_generic.h Removed the _t from all the celt*_t types to avoid clashing with POSIX 2009-10-17 22:12:42 -04:00
float_cast.h Optimised float->int cast for Win64 2010-10-16 18:00:54 -04:00
header.c Remove check_mode() 2010-08-27 16:10:39 -04:00
kiss_fft.c Removing more unused function params 2011-01-26 13:09:53 -05:00
kiss_fft.h Fixed an old issue where the fixed-point MDCT twiddles were stored as 32-bit values 2010-08-25 22:20:35 -04:00
laplace.c Fix off-by-one error in ec_laplace_encode. 2011-01-24 15:55:02 -05:00
laplace.h Add coarse energy entropy model tuning. 2010-11-09 17:54:41 +08:00
Makefile.am Add --export-symbols-regex 2011-01-11 09:33:20 -05:00
match-test.sh Simplified the folding normalisation by creating renormalise_vector(). 2008-07-20 23:14:31 -04:00
mathops.c Fixes several fixed-point overflows in the PLC code 2010-11-06 22:02:32 -04:00
mathops.h Fixes some MSVC warnings 2010-08-31 11:52:45 -04:00
mdct.c First shot at automatically adjusting the "allocation trim" for stereo. 2010-10-19 14:24:50 -04:00
mdct.h static modes update for MDCT 2010-08-25 21:21:43 -04:00
mfrngcod.h Updated copyright notices 2009-10-17 21:40:10 -04:00
modes.c Removing more unused function params 2011-01-26 13:09:53 -05:00
modes.h Bump bit-stream version 2010-12-20 16:58:29 -05:00
os_support.h CELT no longer prints to stderr (unless assertions are enabled) 2010-08-27 17:52:38 -04:00
pitch.c Removing more unused function params 2011-01-26 13:09:53 -05:00
pitch.h Removing more unused function params 2011-01-26 13:09:53 -05:00
plc.c Fixes several fixed-point overflows in the PLC code 2010-11-06 22:02:32 -04:00
plc.h Removing old PCL, added plc.h 2010-06-20 23:01:33 -04:00
quant_bands.c Removing more unused function params 2011-01-26 13:09:53 -05:00
quant_bands.h Removing more unused function params 2011-01-26 13:09:53 -05:00
rangedec.c Changes to ec_dec_cdf() to support 8-bit tables. 2011-01-08 14:57:01 -05:00
rangeenc.c Changes to ec_dec_cdf() to support 8-bit tables. 2011-01-08 14:57:01 -05:00
rate.c Removes unused function parameters 2011-01-26 10:50:55 -05:00
rate.h Defines MAX_FINE_BITS to ensure that we're using the same value everywhere 2011-01-10 13:21:04 -05:00
stack_alloc.h _alloca() for Win32 2010-08-31 11:56:09 -04:00
testcelt.c Properly skip padding in testcelt for stereo. 2011-01-09 23:08:15 -05:00
vq.c Removes unused function parameters 2011-01-26 10:50:55 -05:00
vq.h Stop uselessly calling haar1() when resynth=0 2011-01-22 21:22:03 -05:00