opus.git
8 years agoFolding code moved to quant_band() to prevent duplication.
Jean-Marc Valin [Sat, 16 Oct 2010 03:43:45 +0000 (23:43 -0400)]
Folding code moved to quant_band() to prevent duplication.

8 years agoMore VQ search simplifications
Jean-Marc Valin [Sat, 16 Oct 2010 03:31:06 +0000 (23:31 -0400)]
More VQ search simplifications

8 years agoRemoving yshift from the fixed-point VQ search
Jean-Marc Valin [Sat, 16 Oct 2010 02:55:35 +0000 (22:55 -0400)]
Removing yshift from the fixed-point VQ search

8 years agoMore simplifications to the VQ search
Jean-Marc Valin [Sat, 16 Oct 2010 02:45:02 +0000 (22:45 -0400)]
More simplifications to the VQ search

8 years agoVQ search no longer needs to put more than one pulse at a time
Jean-Marc Valin [Sat, 16 Oct 2010 02:06:36 +0000 (22:06 -0400)]
VQ search no longer needs to put more than one pulse at a time

8 years agotweaks to the split delta for transients
Jean-Marc Valin [Fri, 15 Oct 2010 21:45:33 +0000 (17:45 -0400)]
tweaks to the split delta for transients

8 years agoTransient detection fix for the case where a transient occurs during the overlap
Jean-Marc Valin [Fri, 15 Oct 2010 18:17:13 +0000 (14:17 -0400)]
Transient detection fix for the case where a transient occurs during the overlap

8 years agoTuning the bias for the L1 tf metric
Jean-Marc Valin [Fri, 15 Oct 2010 15:26:32 +0000 (11:26 -0400)]
Tuning the bias for the L1 tf metric

8 years agoUnb0rked the VBR code: several units issues that made VBR completely useless
Jean-Marc Valin [Fri, 15 Oct 2010 14:24:53 +0000 (10:24 -0400)]
Unb0rked the VBR code: several units issues that made VBR completely useless

8 years agoModifying the L1 metric for tf analysis by merging together all frequencies.
Jean-Marc Valin [Fri, 15 Oct 2010 06:18:47 +0000 (02:18 -0400)]
Modifying the L1 metric for tf analysis by merging together all frequencies.

Still need to make it use the right channel in stereo.

8 years agoMaking it possible to have two transients in a row for longer frames
Jean-Marc Valin [Wed, 13 Oct 2010 22:03:50 +0000 (18:03 -0400)]
Making it possible to have two transients in a row for longer frames

8 years agoAdding a high-pass filter in front of the transient analysis code
Jean-Marc Valin [Wed, 13 Oct 2010 21:32:57 +0000 (17:32 -0400)]
Adding a high-pass filter in front of the transient analysis code

8 years agoNo longer filling the stereo side with noise.
Jean-Marc Valin [Wed, 13 Oct 2010 15:48:17 +0000 (11:48 -0400)]
No longer filling the stereo side with noise.

8 years agoTaking into account TF decisions for VBR
Jean-Marc Valin [Wed, 13 Oct 2010 05:11:55 +0000 (01:11 -0400)]
Taking into account TF decisions for VBR

8 years agoNew TF decision code based on L1-norm. Needs more work.
Jean-Marc Valin [Wed, 13 Oct 2010 03:25:58 +0000 (23:25 -0400)]
New TF decision code based on L1-norm. Needs more work.

8 years agoDon't take into account silence for the coarse energy means
Jean-Marc Valin [Wed, 13 Oct 2010 02:18:09 +0000 (22:18 -0400)]
Don't take into account silence for the coarse energy means

8 years agoRemove lower bound on bit-rate for tf signalling
Jean-Marc Valin [Tue, 12 Oct 2010 18:55:16 +0000 (14:55 -0400)]
Remove lower bound on bit-rate for tf signalling

8 years agoDynamic allocation before VBR
Jean-Marc Valin [Sun, 10 Oct 2010 02:58:52 +0000 (22:58 -0400)]
Dynamic allocation before VBR

8 years agoRetrained coarse energy mean and beta coefficients
Jean-Marc Valin [Sun, 10 Oct 2010 01:07:51 +0000 (21:07 -0400)]
Retrained coarse energy mean and beta coefficients

8 years agoMaking the allocation slightly less insane at very high rate
Jean-Marc Valin [Mon, 4 Oct 2010 22:01:45 +0000 (18:01 -0400)]
Making the allocation slightly less insane at very high rate

8 years agoUsing high-band noise less aggressively
Jean-Marc Valin [Mon, 4 Oct 2010 18:45:59 +0000 (14:45 -0400)]
Using high-band noise less aggressively

8 years agoAllowing to change the allocation dynamically.
Jean-Marc Valin [Thu, 30 Sep 2010 14:16:22 +0000 (10:16 -0400)]
Allowing to change the allocation dynamically.

Uses a scaling factor that gets applied to the allocation matrix.

Conflicts:

libcelt/celt.c
libcelt/rate.c
libcelt/rate.h

8 years agoUpdates tandem-test for more robust error reporting and additional frame sizes and...
Gregory Maxwell [Wed, 29 Sep 2010 22:56:32 +0000 (18:56 -0400)]
Updates tandem-test for more robust error reporting and additional frame sizes and sample rates.

8 years agoFixes a ibudget bust and a divide-by-zero at very low bit-rate
Jean-Marc Valin [Thu, 30 Sep 2010 00:05:36 +0000 (20:05 -0400)]
Fixes a ibudget bust and a divide-by-zero at very low bit-rate

8 years agoFixes a fixed-point overflow on 16-bit architectures
Jean-Marc Valin [Wed, 29 Sep 2010 22:05:20 +0000 (18:05 -0400)]
Fixes a fixed-point overflow on 16-bit architectures

8 years agoAdds a simple dynamic allocation scheme
Jean-Marc Valin [Wed, 29 Sep 2010 21:39:54 +0000 (17:39 -0400)]
Adds a simple dynamic allocation scheme

This should help on highly tonal signals by increasing the rate of
bands with a lot more energy than the neighbouring bands.

8 years agoPreventing bands from being coded at a rate below (for now) 3/8 bit/sample
Jean-Marc Valin [Tue, 28 Sep 2010 18:56:20 +0000 (14:56 -0400)]
Preventing bands from being coded at a rate below (for now) 3/8 bit/sample

8 years agoInclude tuning from exp_vorbis_tuning (disabled for now)
Jean-Marc Valin [Fri, 24 Sep 2010 12:27:28 +0000 (08:27 -0400)]
Include tuning from exp_vorbis_tuning (disabled for now)

8 years agoFixes a minor folding bug for N=2 bands in stereo
Jean-Marc Valin [Wed, 15 Sep 2010 10:57:55 +0000 (06:57 -0400)]
Fixes a minor folding bug for N=2 bands in stereo

8 years agoAdd an extra safety bit in intra_decision()
Jean-Marc Valin [Tue, 14 Sep 2010 20:43:35 +0000 (16:43 -0400)]
Add an extra safety bit in intra_decision()

8 years agoFixes rare overflow in intra_decision()
Jean-Marc Valin [Tue, 14 Sep 2010 20:06:22 +0000 (16:06 -0400)]
Fixes rare overflow in intra_decision()

8 years agoFixes fixed-point overflow in stereo_merge()
Jean-Marc Valin [Tue, 14 Sep 2010 20:02:47 +0000 (16:02 -0400)]
Fixes fixed-point overflow in stereo_merge()

8 years agoFixes a fixed-point overflow in haar1()
Jean-Marc Valin [Tue, 14 Sep 2010 16:22:17 +0000 (12:22 -0400)]
Fixes a fixed-point overflow in haar1()

8 years agoSpeed up the bit allocator interpolation
Jean-Marc Valin [Tue, 14 Sep 2010 15:05:40 +0000 (11:05 -0400)]
Speed up the bit allocator interpolation

8 years agoFix stereo for N=2
Jean-Marc Valin [Tue, 14 Sep 2010 14:30:32 +0000 (10:30 -0400)]
Fix stereo for N=2

8 years agoCopy lowband when needed instead of undoing the transforms
Jean-Marc Valin [Tue, 14 Sep 2010 13:48:41 +0000 (09:48 -0400)]
Copy lowband when needed instead of undoing the transforms

8 years agoAllowing a max of 8 bits to qtheta
Jean-Marc Valin [Mon, 13 Sep 2010 21:44:48 +0000 (17:44 -0400)]
Allowing a max of 8 bits to qtheta

8 years agoMore quant_band() reorganisation.
Jean-Marc Valin [Mon, 13 Sep 2010 19:06:35 +0000 (15:06 -0400)]
More quant_band() reorganisation.

8 years agoRestructuring in quant_band()
Jean-Marc Valin [Mon, 13 Sep 2010 18:59:13 +0000 (14:59 -0400)]
Restructuring in quant_band()

8 years agoFixing tests on machines with no __builtin_clz()
Jean-Marc Valin [Mon, 13 Sep 2010 18:53:29 +0000 (14:53 -0400)]
Fixing tests on machines with no __builtin_clz()

8 years agoSeparates stereo_band_mix() into the intensity and MS stereo cases
Jean-Marc Valin [Mon, 13 Sep 2010 17:56:21 +0000 (13:56 -0400)]
Separates stereo_band_mix() into the intensity and MS stereo cases

8 years agoAdded stereo_merge(), which does the renormalisation too
Jean-Marc Valin [Mon, 13 Sep 2010 17:44:11 +0000 (13:44 -0400)]
Added stereo_merge(), which does the renormalisation too

8 years agoMacOS X typedef fix
John Ridges [Mon, 13 Sep 2010 15:23:13 +0000 (11:23 -0400)]
MacOS X typedef fix

8 years agoMoves the bit-side gain application to the quantizer
Jean-Marc Valin [Mon, 13 Sep 2010 15:05:08 +0000 (11:05 -0400)]
Moves the bit-side gain application to the quantizer

8 years agoUsing 6 steps in allocation interpolation
Jean-Marc Valin [Mon, 13 Sep 2010 13:46:54 +0000 (09:46 -0400)]
Using 6 steps in allocation interpolation

8 years agoSimplifies vector renormalisation (and using it less)
Jean-Marc Valin [Mon, 13 Sep 2010 00:11:32 +0000 (20:11 -0400)]
Simplifies vector renormalisation (and using it less)

8 years agoFix a minor, but bitstream-affecting bug
Jean-Marc Valin [Sat, 11 Sep 2010 12:57:59 +0000 (08:57 -0400)]
Fix a minor, but bitstream-affecting bug

8 years agoFixes a divide-by-zero in narrowband mode with small frame size
Jean-Marc Valin [Fri, 10 Sep 2010 21:40:31 +0000 (17:40 -0400)]
Fixes a divide-by-zero in narrowband mode with small frame size

8 years agoSimplifies convoluted raw bits calls.
Jean-Marc Valin [Sat, 11 Sep 2010 00:20:04 +0000 (20:20 -0400)]
Simplifies convoluted raw bits calls.

8 years agoDon't allow transients for 2.5 ms frames.
Jean-Marc Valin [Mon, 6 Sep 2010 01:02:38 +0000 (21:02 -0400)]
Don't allow transients for 2.5 ms frames.

It never made sense anyway.

8 years agoFixes an index bug in dump_modes
Jean-Marc Valin [Fri, 3 Sep 2010 19:12:35 +0000 (15:12 -0400)]
Fixes an index bug in dump_modes

8 years agoMore sharing across different static modes
Jean-Marc Valin [Fri, 3 Sep 2010 18:27:52 +0000 (14:27 -0400)]
More sharing across different static modes

8 years agostatic modes simplifications for std mode
Jean-Marc Valin [Fri, 3 Sep 2010 15:52:38 +0000 (11:52 -0400)]
static modes simplifications for std mode

8 years agominor tuning in the mid-high rates
Jean-Marc Valin [Thu, 2 Sep 2010 14:50:21 +0000 (10:50 -0400)]
minor tuning in the mid-high rates

8 years agoRaw bit init for for architectures with chars larger than 8 bits
Jean-Marc Valin [Thu, 2 Sep 2010 14:16:56 +0000 (10:16 -0400)]
Raw bit init for for architectures with chars larger than 8 bits

8 years agoSmoothing out some curves
Jean-Marc Valin [Thu, 2 Sep 2010 02:04:53 +0000 (22:04 -0400)]
Smoothing out some curves

8 years agoTuning around 30 kb/s
Jean-Marc Valin [Wed, 1 Sep 2010 20:21:38 +0000 (16:21 -0400)]
Tuning around 30 kb/s

8 years agoTuning in the 24 kb/s area
Jean-Marc Valin [Wed, 1 Sep 2010 20:09:30 +0000 (16:09 -0400)]
Tuning in the 24 kb/s area

8 years agoTuning at very low bit-rate (around 14 kb/s)
Jean-Marc Valin [Wed, 1 Sep 2010 19:43:06 +0000 (15:43 -0400)]
Tuning at very low bit-rate (around 14 kb/s)

8 years agoTuning at very low rate
Jean-Marc Valin [Wed, 1 Sep 2010 15:11:37 +0000 (11:11 -0400)]
Tuning at very low rate

8 years agoMaking the allocation matrix a bit smoother
Jean-Marc Valin [Wed, 1 Sep 2010 15:00:48 +0000 (11:00 -0400)]
Making the allocation matrix a bit smoother

8 years agoConverting allocation table to 1/32 bit/sample resolution.
Jean-Marc Valin [Wed, 1 Sep 2010 14:07:12 +0000 (10:07 -0400)]
Converting allocation table to 1/32 bit/sample resolution.

8 years agoComplexity setting now controls two-pass coarse energy quantization
Jean-Marc Valin [Tue, 31 Aug 2010 21:21:52 +0000 (17:21 -0400)]
Complexity setting now controls two-pass coarse energy quantization

8 years agoIgnoring lower bands in folding_decision()
Jean-Marc Valin [Tue, 31 Aug 2010 21:08:45 +0000 (17:08 -0400)]
Ignoring lower bands in folding_decision()

8 years agoComplexity setting now does something again
Jean-Marc Valin [Tue, 31 Aug 2010 21:03:13 +0000 (17:03 -0400)]
Complexity setting now does something again

8 years agoMinor simplification to interp_bits2pulses()
Jean-Marc Valin [Tue, 31 Aug 2010 20:46:40 +0000 (16:46 -0400)]
Minor simplification to interp_bits2pulses()

8 years agoNew implementation of folding_decision()
Jean-Marc Valin [Tue, 31 Aug 2010 18:51:58 +0000 (14:51 -0400)]
New implementation of folding_decision()

8 years ago_alloca() for Win32
Jean-Marc Valin [Tue, 31 Aug 2010 15:56:09 +0000 (11:56 -0400)]
_alloca() for Win32

8 years agoFixes some MSVC warnings
Jean-Marc Valin [Tue, 31 Aug 2010 15:52:45 +0000 (11:52 -0400)]
Fixes some MSVC warnings

8 years agoFine energy allocation cleanup
Jean-Marc Valin [Tue, 31 Aug 2010 14:11:11 +0000 (10:11 -0400)]
Fine energy allocation cleanup

8 years agoqoffset tuning
Jean-Marc Valin [Tue, 31 Aug 2010 10:45:32 +0000 (06:45 -0400)]
qoffset tuning

8 years agoMore fine energy tuning, compensation for N=2
Jean-Marc Valin [Tue, 31 Aug 2010 03:35:02 +0000 (23:35 -0400)]
More fine energy tuning, compensation for N=2

8 years agoNew fine energy allocation tuning.
Jean-Marc Valin [Tue, 31 Aug 2010 01:34:11 +0000 (21:34 -0400)]
New fine energy allocation tuning.

Based on 1/2*log2(N)-19/8, but with the 2-bit and 3-bit thresholds
shifted by 2*log2(N)/8 bit and log2(N)/8 bit, respectively.

8 years agoCELT no longer prints to stderr (unless assertions are enabled)
Jean-Marc Valin [Fri, 27 Aug 2010 21:52:38 +0000 (17:52 -0400)]
CELT no longer prints to stderr (unless assertions are enabled)

8 years agoSimplifies the implementation of RESET by placing all the data that needs
Jean-Marc Valin [Fri, 27 Aug 2010 21:17:50 +0000 (17:17 -0400)]
Simplifies the implementation of RESET by placing all the data that needs
to be cleared at the end of the state structs.

8 years agoAdds _init() functions that do not allocate the states themselves
Jean-Marc Valin [Fri, 27 Aug 2010 20:54:33 +0000 (16:54 -0400)]
Adds _init() functions that do not allocate the states themselves

8 years agoComments on encoder and decoder struct contents
Jean-Marc Valin [Fri, 27 Aug 2010 20:23:03 +0000 (16:23 -0400)]
Comments on encoder and decoder struct contents

8 years agoRemove model markers
Jean-Marc Valin [Fri, 27 Aug 2010 20:15:20 +0000 (16:15 -0400)]
Remove model markers

8 years agoRemove check_mode()
Jean-Marc Valin [Fri, 27 Aug 2010 20:10:39 +0000 (16:10 -0400)]
Remove check_mode()

8 years agoUnb0rk fixed-point build
Jean-Marc Valin [Fri, 27 Aug 2010 20:05:01 +0000 (16:05 -0400)]
Unb0rk fixed-point build

8 years agoRemoving check_decoder()
Jean-Marc Valin [Fri, 27 Aug 2010 20:02:30 +0000 (16:02 -0400)]
Removing check_decoder()

8 years agoDecoder state stored in a single allocated object.
Jean-Marc Valin [Fri, 27 Aug 2010 20:00:01 +0000 (16:00 -0400)]
Decoder state stored in a single allocated object.

8 years agoDecoder cleanup
Jean-Marc Valin [Fri, 27 Aug 2010 19:15:32 +0000 (15:15 -0400)]
Decoder cleanup

8 years agoRemoving check_encoder()
Jean-Marc Valin [Fri, 27 Aug 2010 19:03:20 +0000 (15:03 -0400)]
Removing check_encoder()

8 years agoEncoder state now stored in a single allocated object
Jean-Marc Valin [Fri, 27 Aug 2010 18:57:37 +0000 (14:57 -0400)]
Encoder state now stored in a single allocated object

8 years agoSimplifies convoluted/idiotic indexing.
Jean-Marc Valin [Fri, 27 Aug 2010 15:33:18 +0000 (11:33 -0400)]
Simplifies convoluted/idiotic indexing.

8 years agoMore IMDCT de-uglification
Jean-Marc Valin [Fri, 27 Aug 2010 05:32:40 +0000 (01:32 -0400)]
More IMDCT de-uglification

8 years agoRemoving out_mem from the encoder state.
Jean-Marc Valin [Fri, 27 Aug 2010 03:58:08 +0000 (23:58 -0400)]
Removing out_mem from the encoder state.

8 years agoInverse MDCT no longer keeps channels interleaved.
Jean-Marc Valin [Fri, 27 Aug 2010 00:06:49 +0000 (20:06 -0400)]
Inverse MDCT no longer keeps channels interleaved.

This simplifications also fixes a few bugs in the PLC (hope it didn't create some new ones).

8 years agoSmall suckage reduction in compute_inv_mdcts(). More to come.
Jean-Marc Valin [Thu, 26 Aug 2010 22:08:44 +0000 (18:08 -0400)]
Small suckage reduction in compute_inv_mdcts(). More to come.

8 years agoNothing to see here
Jean-Marc Valin [Thu, 26 Aug 2010 12:17:49 +0000 (08:17 -0400)]
Nothing to see here

8 years agoDisabling mdct and fft init code with static modes
Jean-Marc Valin [Thu, 26 Aug 2010 06:04:03 +0000 (02:04 -0400)]
Disabling mdct and fft init code with static modes

8 years agoNo longer making copies of static modes
Jean-Marc Valin [Thu, 26 Aug 2010 03:02:49 +0000 (23:02 -0400)]
No longer making copies of static modes

8 years agoFixes an off-by-one bug in the static mode's MDCT twiddles
Jean-Marc Valin [Thu, 26 Aug 2010 02:41:00 +0000 (22:41 -0400)]
Fixes an off-by-one bug in the static mode's MDCT twiddles

8 years agoFixed an old issue where the fixed-point MDCT twiddles were stored as 32-bit values
Jean-Marc Valin [Thu, 26 Aug 2010 02:20:35 +0000 (22:20 -0400)]
Fixed an old issue where the fixed-point MDCT twiddles were stored as 32-bit values

8 years agocoarse probability model in static modes too
Jean-Marc Valin [Thu, 26 Aug 2010 02:12:18 +0000 (22:12 -0400)]
coarse probability model in static modes too

8 years agostatic modes update for MDCT
Jean-Marc Valin [Thu, 26 Aug 2010 01:21:43 +0000 (21:21 -0400)]
static modes update for MDCT

8 years agoUpdating dump_modes to include the MDCT and FFT. More work needed.
Jean-Marc Valin [Wed, 25 Aug 2010 22:01:50 +0000 (18:01 -0400)]
Updating dump_modes to include the MDCT and FFT. More work needed.

8 years agoFFT cleanup
Jean-Marc Valin [Wed, 25 Aug 2010 21:15:05 +0000 (17:15 -0400)]
FFT cleanup

8 years agoUpdated static modes for new pulse cache.
Jean-Marc Valin [Wed, 25 Aug 2010 17:52:27 +0000 (13:52 -0400)]
Updated static modes for new pulse cache.

Fixed a few minor bugs in the process.