opus.git
9 years agoMinor simplification to exp_rotation().
Timothy B. Terriberry [Sat, 7 Aug 2010 00:05:53 +0000 (17:05 -0700)]
Minor simplification to exp_rotation().

9 years agocomments
Jean-Marc Valin [Fri, 6 Aug 2010 21:04:13 +0000 (17:04 -0400)]
comments

9 years agoeMeans[] quantized to 8 bits
Jean-Marc Valin [Fri, 6 Aug 2010 20:34:58 +0000 (16:34 -0400)]
eMeans[] quantized to 8 bits

9 years agoUsing the real spectral means instead of the ones
Jean-Marc Valin [Fri, 6 Aug 2010 19:56:22 +0000 (15:56 -0400)]
Using the real spectral means instead of the ones
after inter-band prediction

9 years agoAdaptive fine offset value
Jean-Marc Valin [Fri, 6 Aug 2010 18:42:43 +0000 (14:42 -0400)]
Adaptive fine offset value

9 years agoComments
Jean-Marc Valin [Fri, 6 Aug 2010 11:40:11 +0000 (07:40 -0400)]
Comments

9 years agoMore simplifications to N=2 stereo
Jean-Marc Valin [Fri, 6 Aug 2010 01:14:49 +0000 (21:14 -0400)]
More simplifications to N=2 stereo

9 years agoMore N=2 stereo simplifications
Jean-Marc Valin [Fri, 6 Aug 2010 00:35:53 +0000 (20:35 -0400)]
More N=2 stereo simplifications

9 years agoSimplifications to the N=2 stereo split.
Timothy B. Terriberry [Thu, 5 Aug 2010 23:55:58 +0000 (16:55 -0700)]
Simplifications to the N=2 stereo split.

This saves almost 200 bytes of code size.

9 years agoFix dump_modes when requesting multiple modes.
Timothy B. Terriberry [Thu, 5 Aug 2010 23:30:42 +0000 (16:30 -0700)]
Fix dump_modes when requesting multiple modes.

dump_modes() was re-using a loop index for a loop nested inside
 the main one, so it would only output the struct for the first
 one.

9 years agoThis patch makes Tim happy
Jean-Marc Valin [Thu, 5 Aug 2010 22:15:56 +0000 (18:15 -0400)]
This patch makes Tim happy

9 years agoMaking qn code 16-bit clean while simplifying it
Jean-Marc Valin [Thu, 5 Aug 2010 21:39:13 +0000 (17:39 -0400)]
Making qn code 16-bit clean while simplifying it

9 years agoQTHETA_OFFSET* tuning
Jean-Marc Valin [Thu, 5 Aug 2010 20:15:46 +0000 (16:15 -0400)]
QTHETA_OFFSET* tuning

9 years agoSimplified flags encoding
Jean-Marc Valin [Thu, 5 Aug 2010 19:42:50 +0000 (15:42 -0400)]
Simplified flags encoding

9 years agoRemoving pitch prediction code
Jean-Marc Valin [Thu, 5 Aug 2010 19:22:57 +0000 (15:22 -0400)]
Removing pitch prediction code

9 years agoAllowing fractional bits for splitting angle (theta)
Jean-Marc Valin [Thu, 5 Aug 2010 13:16:52 +0000 (09:16 -0400)]
Allowing fractional bits for splitting angle (theta)

9 years agocleanup in qb-related code
Jean-Marc Valin [Thu, 5 Aug 2010 04:07:33 +0000 (00:07 -0400)]
cleanup in qb-related code

9 years agoFixed "forced intensity stereo"
Jean-Marc Valin [Wed, 4 Aug 2010 21:17:18 +0000 (17:17 -0400)]
Fixed "forced intensity stereo"

9 years agoMore float conversion cleanup
Jean-Marc Valin [Wed, 4 Aug 2010 13:13:24 +0000 (09:13 -0400)]
More float conversion cleanup

9 years agoChanging some constants to float
Jean-Marc Valin [Wed, 4 Aug 2010 01:43:41 +0000 (21:43 -0400)]
Changing some constants to float

9 years agoMore FFT cleanup
Jean-Marc Valin [Tue, 3 Aug 2010 20:49:22 +0000 (16:49 -0400)]
More FFT cleanup

9 years agoRemoving files that are no longer needed
Jean-Marc Valin [Tue, 3 Aug 2010 19:49:20 +0000 (15:49 -0400)]
Removing files that are no longer needed

9 years agoDOUBLE_PRECISION and MIXED_PRECISION no longer need to be defined
Jean-Marc Valin [Tue, 3 Aug 2010 19:47:54 +0000 (15:47 -0400)]
DOUBLE_PRECISION and MIXED_PRECISION no longer need to be defined

9 years agoCode simplifications for log->amplitude conversion
Jean-Marc Valin [Mon, 2 Aug 2010 13:41:31 +0000 (09:41 -0400)]
Code simplifications for log->amplitude conversion

9 years agoRemove useless use of "long", remove useless prototypes
Jean-Marc Valin [Mon, 2 Aug 2010 13:01:28 +0000 (09:01 -0400)]
Remove useless use of "long", remove useless prototypes

9 years agoError measurement for stereo as well
Jean-Marc Valin [Thu, 29 Jul 2010 16:32:54 +0000 (18:32 +0200)]
Error measurement for stereo as well

9 years agoMeasuring the normalized error directly within the encoder
Jean-Marc Valin [Thu, 29 Jul 2010 13:01:24 +0000 (15:01 +0200)]
Measuring the normalized error directly within the encoder

9 years agoSeparate qtheta offset for stereo
Jean-Marc Valin [Thu, 29 Jul 2010 10:51:06 +0000 (12:51 +0200)]
Separate qtheta offset for stereo

9 years agoFixing the qtheta dependency for the delta allocation
Jean-Marc Valin [Wed, 28 Jul 2010 20:12:36 +0000 (22:12 +0200)]
Fixing the qtheta dependency for the delta allocation

Removed useless code in transient_analysis()

9 years agoRemoving uselessly low bitrate allocation entries
Jean-Marc Valin [Wed, 28 Jul 2010 08:39:04 +0000 (10:39 +0200)]
Removing uselessly low bitrate allocation entries

9 years agoOnly using triangular split pdf up to 8 bits
Jean-Marc Valin [Wed, 28 Jul 2010 08:34:07 +0000 (10:34 +0200)]
Only using triangular split pdf up to 8 bits

9 years agoupdated cwrs test for previous commit
Jean-Marc Valin [Wed, 28 Jul 2010 08:14:07 +0000 (10:14 +0200)]
updated cwrs test for previous commit

9 years agoEliminate the loop when decoding the split angle.
Timothy B. Terriberry [Tue, 27 Jul 2010 22:09:51 +0000 (15:09 -0700)]
Eliminate the loop when decoding the split angle.

Use a closed-form formula for the search instead.
This requires an integer sqrt, so it is not actually closed-form,
 but the number of iterations is O(qb) instead of O(2**qb).

9 years agoEliminate the loop when encoding the split angle.
Timothy B. Terriberry [Tue, 27 Jul 2010 20:33:55 +0000 (13:33 -0700)]
Eliminate the loop when encoding the split angle.

Use a closed-form formula for the codebook parameters instead.

9 years agoBit allocation
Jean-Marc Valin [Tue, 27 Jul 2010 20:39:15 +0000 (22:39 +0200)]
Bit allocation

Also convert the stereo split code to use log(N)/2 as the bit allocation
offset

9 years agoAdjust fine bits allocation.
Timothy B. Terriberry [Tue, 27 Jul 2010 14:49:24 +0000 (07:49 -0700)]
Adjust fine bits allocation.

The old code allocated too many fine bits to large bands.
New allocations were derived from by numerical optimization using quantization
 MSE sampled from Laplacian distributed random data to within +/- 1 bit for
 N=2...160 and bits per band from 0 to 64.
Those allocations could be modeled with only minor errors using a simple offset
 of 19/8+log2(N), with no bits spent on fine energy when there would not be
 enough bits remaining to code a single pulse.
However, PEAQ testing suggested an offset of 14/8 was better, and that it was
 always worth spending at least one bit on fine energy.

9 years agoMore cleanup
Jean-Marc Valin [Sun, 25 Jul 2010 02:06:29 +0000 (22:06 -0400)]
More cleanup

9 years agoSpreading code cleanup -- now allowing tf change when spreading is off
Jean-Marc Valin [Sun, 25 Jul 2010 01:36:44 +0000 (21:36 -0400)]
Spreading code cleanup -- now allowing tf change when spreading is off

9 years agoUsing random noise in upper bands when signal is "normal"
Jean-Marc Valin [Sat, 24 Jul 2010 21:13:17 +0000 (17:13 -0400)]
Using random noise in upper bands when signal is "normal"

9 years agoCodec state simplification
Jean-Marc Valin [Sat, 24 Jul 2010 15:48:10 +0000 (11:48 -0400)]
Codec state simplification

Making the preemphasis memory an array of two, removing unused fields

9 years agoUpdated static mode generation for latest changes
Jean-Marc Valin [Sat, 24 Jul 2010 11:59:08 +0000 (07:59 -0400)]
Updated static mode generation for latest changes

9 years agoJust removing old code that was commented out anyway
Jean-Marc Valin [Fri, 23 Jul 2010 21:46:53 +0000 (17:46 -0400)]
Just removing old code that was commented out anyway

9 years agoCleanup, de-inlining some math functions
Jean-Marc Valin [Fri, 23 Jul 2010 21:28:50 +0000 (17:28 -0400)]
Cleanup, de-inlining some math functions

9 years agoMaking a bunch of things static
Jean-Marc Valin [Fri, 23 Jul 2010 21:02:23 +0000 (17:02 -0400)]
Making a bunch of things static

9 years agoCleaning up intra_decision()
Jean-Marc Valin [Fri, 23 Jul 2010 20:54:20 +0000 (16:54 -0400)]
Cleaning up intra_decision()

9 years agoEnergy quantization tuning.
Jean-Marc Valin [Fri, 23 Jul 2010 20:10:36 +0000 (16:10 -0400)]
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.

9 years agoFixes a bug that could turn off folding at low rate when specifying
Jean-Marc Valin [Tue, 20 Jul 2010 21:30:31 +0000 (17:30 -0400)]
Fixes a bug that could turn off folding at low rate when specifying
a start band.

9 years agoThe coarse energy budget is no longer part of the bit-stream.
Jean-Marc Valin [Mon, 19 Jul 2010 18:32:40 +0000 (14:32 -0400)]
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.

9 years agoError checking on the decoder side
Jean-Marc Valin [Mon, 19 Jul 2010 01:20:35 +0000 (21:20 -0400)]
Error checking on the decoder side

9 years agoEncoder now has a way to check whether an error has occurred
Jean-Marc Valin [Sun, 18 Jul 2010 13:42:05 +0000 (09:42 -0400)]
Encoder now has a way to check whether an error has occurred

9 years agoThe encoder and decoder can now process audio encoded at a higher rate
Jean-Marc Valin [Sat, 17 Jul 2010 01:48:44 +0000 (21:48 -0400)]
The encoder and decoder can now process audio encoded at a higher rate
than what they're running at.

9 years agoSome work towards being able to encode a 48 kHz stream from 32 kHz audio (incomplete)
Jean-Marc Valin [Fri, 16 Jul 2010 22:12:45 +0000 (18:12 -0400)]
Some work towards being able to encode a 48 kHz stream from 32 kHz audio (incomplete)

9 years agoAll modes based on 2.5 ms short blocks now use the same definition
Jean-Marc Valin [Fri, 16 Jul 2010 19:55:30 +0000 (15:55 -0400)]
All modes based on 2.5 ms short blocks now use the same definition

9 years agoConsidering the end band in more places in the code
Jean-Marc Valin [Fri, 16 Jul 2010 19:25:30 +0000 (15:25 -0400)]
Considering the end band in more places in the code

9 years agoEncoding transient_time independently of the sampling rate
Jean-Marc Valin [Fri, 16 Jul 2010 18:23:03 +0000 (14:23 -0400)]
Encoding transient_time independently of the sampling rate

9 years agoNumber of short blocks now based on the frame duration instead of the
Jean-Marc Valin [Fri, 16 Jul 2010 16:00:00 +0000 (12:00 -0400)]
Number of short blocks now based on the frame duration instead of the
number of samples

9 years agoBetter support for non-48 kHz sampling rates
Jean-Marc Valin [Fri, 16 Jul 2010 15:47:50 +0000 (11:47 -0400)]
Better support for non-48 kHz sampling rates

9 years agoPre-emphasis coefficients now part of the mode and has a numerator as well
Jean-Marc Valin [Fri, 16 Jul 2010 15:05:06 +0000 (11:05 -0400)]
Pre-emphasis coefficients now part of the mode and has a numerator as well
as a denominator

9 years agoUsing short blocks a bit more often now that we have variable tf resolution
Jean-Marc Valin [Thu, 15 Jul 2010 21:57:50 +0000 (17:57 -0400)]
Using short blocks a bit more often now that we have variable tf resolution

9 years agoHandling the start band and end band in tf encoding
Jean-Marc Valin [Tue, 13 Jul 2010 20:50:11 +0000 (16:50 -0400)]
Handling the start band and end band in tf encoding

9 years agoSupport for adjusting the end band
Jean-Marc Valin [Tue, 13 Jul 2010 18:14:16 +0000 (14:14 -0400)]
Support for adjusting the end band

9 years ago16-bit bitrev table
Jean-Marc Valin [Fri, 9 Jul 2010 01:02:05 +0000 (21:02 -0400)]
16-bit bitrev table

9 years agoSharing of the twiddles across multiple FFTs
Jean-Marc Valin [Fri, 9 Jul 2010 00:54:32 +0000 (20:54 -0400)]
Sharing of the twiddles across multiple FFTs

9 years agoVersion string update
Jean-Marc Valin [Thu, 8 Jul 2010 19:30:58 +0000 (15:30 -0400)]
Version string update

9 years agoUpdated draft for 0.8.1
Jean-Marc Valin [Thu, 8 Jul 2010 19:28:08 +0000 (15:28 -0400)]
Updated draft for 0.8.1

9 years agoFix accidental change of celt_alloc() to non-inline
Jean-Marc Valin [Thu, 8 Jul 2010 18:35:29 +0000 (14:35 -0400)]
Fix accidental change of celt_alloc() to non-inline

9 years agoietf draft update (incomplete)
Jean-Marc Valin [Thu, 8 Jul 2010 18:34:42 +0000 (14:34 -0400)]
ietf draft update (incomplete)

9 years agoSharing twiddle factors across all MDCTs
Jean-Marc Valin [Thu, 8 Jul 2010 01:26:38 +0000 (21:26 -0400)]
Sharing twiddle factors across all MDCTs

9 years agoSome code cleanup in the FFT.
Jean-Marc Valin [Wed, 7 Jul 2010 16:00:43 +0000 (12:00 -0400)]
Some code cleanup in the FFT.

Also dropped support for radices above 5.

9 years agoFixed C99-style declaration
Jean-Marc Valin [Wed, 7 Jul 2010 00:25:54 +0000 (20:25 -0400)]
Fixed C99-style declaration

9 years agoUpdating DISABLE_FLOAT_API use
Jean-Marc Valin [Tue, 6 Jul 2010 23:37:23 +0000 (19:37 -0400)]
Updating DISABLE_FLOAT_API use

9 years agofixes an int vs celt_int32 mismatch
Jean-Marc Valin [Tue, 6 Jul 2010 22:58:19 +0000 (18:58 -0400)]
fixes an int vs celt_int32 mismatch

9 years agofixed point bug fix in tf_analysis()
Jean-Marc Valin [Tue, 6 Jul 2010 21:54:33 +0000 (17:54 -0400)]
fixed point bug fix in tf_analysis()

9 years agoAnother coarse budget fix for _ec() calls
Jean-Marc Valin [Mon, 5 Jul 2010 18:33:49 +0000 (14:33 -0400)]
Another coarse budget fix for _ec() calls

9 years agoFixed a few more issues with the _ec() calls.
Jean-Marc Valin [Mon, 5 Jul 2010 17:52:41 +0000 (13:52 -0400)]
Fixed a few more issues with the _ec() calls.

9 years agoFix misleading comments about ec_{enc|dec}_tell()
Jean-Marc Valin [Mon, 5 Jul 2010 04:33:00 +0000 (00:33 -0400)]
Fix misleading comments about ec_{enc|dec}_tell()

9 years agogitignore update
Jean-Marc Valin [Sat, 3 Jul 2010 13:28:15 +0000 (09:28 -0400)]
gitignore update

9 years agoPrototypes for the _ec variants of the calls
Jean-Marc Valin [Thu, 1 Jul 2010 14:14:20 +0000 (10:14 -0400)]
Prototypes for the _ec variants of the calls

9 years agoOops, fixed an uninitialized var error
Jean-Marc Valin [Mon, 28 Jun 2010 21:22:37 +0000 (17:22 -0400)]
Oops, fixed an uninitialized var error

9 years agoSome C90-ication
Jean-Marc Valin [Mon, 28 Jun 2010 01:55:08 +0000 (21:55 -0400)]
Some C90-ication

9 years agoUpdating various version strings
Jean-Marc Valin [Mon, 28 Jun 2010 01:43:34 +0000 (21:43 -0400)]
Updating various version strings

9 years agoNo need for --enable-new-plc anymore (always on)
Jean-Marc Valin [Sun, 27 Jun 2010 17:52:08 +0000 (13:52 -0400)]
No need for --enable-new-plc anymore (always on)

9 years agoMode cleanup (removed redundant mdctSize field)
Jean-Marc Valin [Sun, 27 Jun 2010 17:49:38 +0000 (13:49 -0400)]
Mode cleanup (removed redundant mdctSize field)

9 years agoThink I got static modes working again
Jean-Marc Valin [Sun, 27 Jun 2010 13:56:26 +0000 (09:56 -0400)]
Think I got static modes working again

9 years agoUpdating static modes (not done yet)
Jean-Marc Valin [Sun, 27 Jun 2010 13:51:20 +0000 (09:51 -0400)]
Updating static modes (not done yet)

9 years agoRemoving some warnings
Jean-Marc Valin [Sun, 27 Jun 2010 04:53:51 +0000 (00:53 -0400)]
Removing some warnings

9 years agoImproved quality of small frame sizes at low bitrate.
Jean-Marc Valin [Wed, 23 Jun 2010 19:22:54 +0000 (15:22 -0400)]
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.

9 years agoPreventing ridiculous bit depths > 16 bit/sample
Jean-Marc Valin [Wed, 23 Jun 2010 01:26:16 +0000 (21:26 -0400)]
Preventing ridiculous bit depths > 16 bit/sample

9 years agoImproved code for reusing ec structures
Jean-Marc Valin [Tue, 22 Jun 2010 01:39:44 +0000 (21:39 -0400)]
Improved code for reusing ec structures

Using the number of unallocated bytes for coarse quantization and VBR
instead the total number of bytes.

9 years agoNo need to memset() the byte buffer
Jean-Marc Valin [Mon, 21 Jun 2010 21:55:28 +0000 (17:55 -0400)]
No need to memset() the byte buffer

9 years agoCompile fix for MSVC
Benjamin Jemlich [Mon, 21 Jun 2010 12:31:00 +0000 (14:31 +0200)]
Compile fix for MSVC

9 years agoBumping LT_CURRENT
Jean-Marc Valin [Mon, 21 Jun 2010 11:15:47 +0000 (07:15 -0400)]
Bumping LT_CURRENT

9 years agoremoving some warnings
Jean-Marc Valin [Mon, 21 Jun 2010 05:01:17 +0000 (01:01 -0400)]
removing some warnings

9 years agoFixed testcase
Jean-Marc Valin [Mon, 21 Jun 2010 04:13:35 +0000 (00:13 -0400)]
Fixed testcase

9 years agoRemoving old PCL, added plc.h
Jean-Marc Valin [Mon, 21 Jun 2010 02:48:50 +0000 (22:48 -0400)]
Removing old PCL, added plc.h

9 years agoComments, code cleanup
Jean-Marc Valin [Sat, 19 Jun 2010 14:27:28 +0000 (10:27 -0400)]
Comments, code cleanup

9 years agofixed-point: New PLC now enabled by default
Jean-Marc Valin [Fri, 18 Jun 2010 00:25:51 +0000 (20:25 -0400)]
fixed-point: New PLC now enabled by default

9 years agofixed-point: More work on the PLC
Jean-Marc Valin [Fri, 18 Jun 2010 00:10:02 +0000 (20:10 -0400)]
fixed-point: More work on the PLC

9 years agofixed-point: PLC auto-correlation converted
Jean-Marc Valin [Thu, 17 Jun 2010 11:32:20 +0000 (07:32 -0400)]
fixed-point: PLC auto-correlation converted

9 years agominor tweaks to frac_div32()
Jean-Marc Valin [Thu, 17 Jun 2010 04:35:26 +0000 (00:35 -0400)]
minor tweaks to frac_div32()