opus.git
10 years agoMultiple channels
Jean-Marc Valin [Mon, 2 Mar 2009 22:23:46 +0000 (17:23 -0500)]
Multiple channels

10 years agoRTP Draft updates; merge new security boiler-plate from draft-ietf-avt-rtp-howto...
Gregory Maxwell [Mon, 2 Mar 2009 19:34:15 +0000 (14:34 -0500)]
RTP Draft updates; merge new security boiler-plate from draft-ietf-avt-rtp-howto-06.txt

10 years agomisc changes to rtp draft
Jean-Marc Valin [Fri, 27 Feb 2009 22:12:09 +0000 (17:12 -0500)]
misc changes to rtp draft

10 years agoRemoved a few dozen warnings from the RTP XML draft.
Jean-Marc Valin [Fri, 27 Feb 2009 14:23:28 +0000 (09:23 -0500)]
Removed a few dozen warnings from the RTP XML draft.

10 years agoAdd version info to celtenc/celtdec output as suggested on the
Gregory Maxwell [Thu, 26 Feb 2009 22:05:37 +0000 (17:05 -0500)]
Add version info to celtenc/celtdec output as suggested on the
mailing list by Rob Til Freedmen. Also add a bitstream version
check to these applications.

10 years agoAPI documentation updates.
Gregory Maxwell [Tue, 17 Feb 2009 02:29:15 +0000 (21:29 -0500)]
API documentation updates.

10 years agoMiscellaneous comment, copyright notice, readme updates.
Gregory Maxwell [Mon, 16 Feb 2009 23:56:44 +0000 (18:56 -0500)]
Miscellaneous comment, copyright notice, readme updates.

10 years agoPreparing for version 0.5.2
Jean-Marc Valin [Mon, 16 Feb 2009 12:32:44 +0000 (07:32 -0500)]
Preparing for version 0.5.2

10 years agoFixed an overflow in the bit allocation table for large frame stereo
Jean-Marc Valin [Tue, 10 Feb 2009 04:54:52 +0000 (23:54 -0500)]
Fixed an overflow in the bit allocation table for large frame stereo
(need to make that a bit better)

10 years agoBetter allocation rounding as suggested by derf
Jean-Marc Valin [Tue, 10 Feb 2009 04:17:44 +0000 (23:17 -0500)]
Better allocation rounding as suggested by derf

10 years agoSimple check that application supplied packet length is not negative.
Gregory Maxwell [Mon, 9 Feb 2009 06:33:21 +0000 (01:33 -0500)]
Simple check that application supplied packet length is not negative.

10 years agoChanged the allocator to be smarter about the way it allocates
Jean-Marc Valin [Mon, 9 Feb 2009 05:45:48 +0000 (00:45 -0500)]
Changed the allocator to be smarter about the way it allocates
fine energy bits. Also, doing better rounding of the bits.

10 years agoUpdate comment in celt.h to reflect that frame sizes up to 512 are supported.
Gregory Maxwell [Fri, 6 Feb 2009 23:16:41 +0000 (18:16 -0500)]
Update comment in celt.h to reflect that frame sizes up to 512 are supported.

10 years agoLicense for the kiss-fft headers
Jean-Marc Valin [Wed, 4 Feb 2009 04:27:49 +0000 (23:27 -0500)]
License for the kiss-fft headers

10 years agoSome additional documentaion in the celtenc UI.
Gregory Maxwell [Wed, 4 Feb 2009 02:03:04 +0000 (21:03 -0500)]
Some additional documentaion in the celtenc UI.

10 years agoAdditional copyright notices.
Gregory Maxwell [Wed, 4 Feb 2009 01:46:53 +0000 (20:46 -0500)]
Additional copyright notices.

10 years agoInclude missing copyright information in various files, for signoff.
Gregory Maxwell [Wed, 4 Feb 2009 01:36:57 +0000 (20:36 -0500)]
Include missing copyright information in various files, for signoff.

Signed-off-by: Timothy B. Terriberry <tterribe@xiph.org>
10 years agoMinor enhancements to celtenc to avoid silently capping bitrate and allow an
Gregory Maxwell [Tue, 3 Feb 2009 23:22:50 +0000 (18:22 -0500)]
Minor enhancements to celtenc to avoid silently capping bitrate and allow an
adjustable frame size. Indentation fix in cwrs.c.

10 years agoEnlarge CELT pseudo-stack for floating point unless an architecture specific value
Gregory Maxwell [Tue, 3 Feb 2009 21:07:01 +0000 (16:07 -0500)]
Enlarge CELT pseudo-stack for floating point unless an architecture specific value
has been set. This fixes a crash bug for some platforms with 512 sample frames and stereo.

10 years agoThis fixes a budget overrun and segfault for unreasonably low bitrates.
Gregory Maxwell [Tue, 3 Feb 2009 19:35:13 +0000 (14:35 -0500)]
This fixes a budget overrun and segfault for unreasonably low bitrates.

10 years agoThis fixes a couple of issues with celtclient.c and makes it easier to
Gregory Maxwell [Tue, 20 Jan 2009 02:13:37 +0000 (21:13 -0500)]
This fixes a couple of issues with celtclient.c and makes it easier to
change the channel count and deactivate the AEC.

10 years agoPitch now quantised at the band level, got rid of all the VQ code.
Jean-Marc Valin [Wed, 14 Jan 2009 04:04:12 +0000 (23:04 -0500)]
Pitch now quantised at the band level, got rid of all the VQ code.

10 years agoMoved the application of the pitch gain to (un)quant_bands(). This doesn't
Jean-Marc Valin [Wed, 14 Jan 2009 01:48:30 +0000 (20:48 -0500)]
Moved the application of the pitch gain to (un)quant_bands(). This doesn't
change anything to the codec, but will make the next changes easier.

10 years agoSpec file
Christopher Montgomery [Tue, 13 Jan 2009 18:39:53 +0000 (13:39 -0500)]
Spec file

10 years agomode parameters in ietf draft
Jean-Marc Valin [Fri, 9 Jan 2009 22:44:22 +0000 (17:44 -0500)]
mode parameters in ietf draft

10 years agocross-referencing the source code
Jean-Marc Valin [Fri, 9 Jan 2009 16:28:26 +0000 (11:28 -0500)]
cross-referencing the source code

10 years agonothing to see here
Jean-Marc Valin [Fri, 9 Jan 2009 05:23:56 +0000 (00:23 -0500)]
nothing to see here

10 years agoDetails on the reference implementation
Jean-Marc Valin [Thu, 8 Jan 2009 23:00:50 +0000 (18:00 -0500)]
Details on the reference implementation

10 years agoAdded all the source files to the draft
Jean-Marc Valin [Thu, 8 Jan 2009 22:37:22 +0000 (17:37 -0500)]
Added all the source files to the draft

10 years agoMore decoder details
Jean-Marc Valin [Thu, 8 Jan 2009 21:38:01 +0000 (16:38 -0500)]
More decoder details

10 years agoLaplace details
Jean-Marc Valin [Tue, 6 Jan 2009 22:58:58 +0000 (17:58 -0500)]
Laplace details

10 years agoMore text in the IETF draft
Jean-Marc Valin [Tue, 23 Dec 2008 22:19:29 +0000 (17:19 -0500)]
More text in the IETF draft

10 years agoSome details on the MDCT, fixed a bunch of warnings
Jean-Marc Valin [Tue, 23 Dec 2008 19:48:27 +0000 (14:48 -0500)]
Some details on the MDCT, fixed a bunch of warnings

10 years agoTest whether the compiler supports -fvisibility=hidden
Jean-Marc Valin [Tue, 23 Dec 2008 14:53:36 +0000 (09:53 -0500)]
Test whether the compiler supports -fvisibility=hidden

10 years agoUnit tests now #include the relevant source files to prevent symbol visibility
Jean-Marc Valin [Tue, 23 Dec 2008 14:31:39 +0000 (09:31 -0500)]
Unit tests now #include the relevant source files to prevent symbol visibility
problems when building shared libraries only.

10 years agoMiscellaneous compiler warning cleanups.
Gregory Maxwell [Mon, 22 Dec 2008 23:15:42 +0000 (18:15 -0500)]
Miscellaneous compiler warning cleanups.

10 years agoIETF draft for CELT itself
Jean-Marc Valin [Mon, 22 Dec 2008 21:37:45 +0000 (16:37 -0500)]
IETF draft for CELT itself

10 years agoFix ectest to not check a case which isn't guaranteed to work, and which we don't...
Timothy B. Terriberry [Sun, 21 Dec 2008 03:12:18 +0000 (22:12 -0500)]
Fix ectest to not check a case which isn't guaranteed to work, and which we don't use.

When I removed the special case for EC_ILOG(0) in commit
 06390d082dcdfa8addb3dde337543bc0f0ebae44, it broke ec_dec_uint() with _ft=1
 (which should encode the value 0 using 0 bits).
This feature was tested by ectest.c, but not actually used by libcelt.
An assert has been added to ec_dec_uint() to ensure that we don't try to use
 this feature by accident.
ec_enc_uint() was actually correct, but support for this feature has been
 removed and the assert put in its place.

10 years agoBump version to 0.5.1
Jean-Marc Valin [Thu, 18 Dec 2008 01:00:35 +0000 (20:00 -0500)]
Bump version to 0.5.1

10 years agoEnsure that log2_frac() is _really_ an upper bound.
Timothy B. Terriberry [Sun, 14 Dec 2008 19:40:34 +0000 (14:40 -0500)]
Ensure that log2_frac() is _really_ an upper bound.

This version has actually been tested for all 32-bit inputs.

10 years agoFix log2_frac() to return an upper bound, not a lower bound.
Timothy B. Terriberry [Sun, 14 Dec 2008 06:42:37 +0000 (01:42 -0500)]
Fix log2_frac() to return an upper bound, not a lower bound.

10 years agoCompute the real maximum required bits for a split.
Timothy B. Terriberry [Sun, 14 Dec 2008 06:04:24 +0000 (01:04 -0500)]
Compute the real maximum required bits for a split.

10 years agoAdd a SET_LTP call to allow on the fly activation/deactivation of the long term
Gregory Maxwell [Sun, 14 Dec 2008 01:42:03 +0000 (20:42 -0500)]
Add a SET_LTP call to allow on the fly activation/deactivation of the long term
predictor even in high complexity mode (LTP off is more loss robust), fix the
case where turning on LTP on a running stream can cause prediction against
bogus data by delaying the usage of the LTP until enough data has been encoded.

10 years agoMinor pitch handling cleanups.
Gregory Maxwell [Sat, 13 Dec 2008 06:31:32 +0000 (01:31 -0500)]
Minor pitch handling cleanups.

10 years agoNew VQ search is now enabled by default after fixing the last remaining issues:
Jean-Marc Valin [Sat, 13 Dec 2008 01:50:56 +0000 (20:50 -0500)]
New VQ search is now enabled by default after fixing the last remaining issues:
1) the case of the null vector and 2) getting rid of the 32-bit division

10 years agoFix optional synthesis bug in fixed point mode.
Gregory Maxwell [Fri, 12 Dec 2008 21:54:25 +0000 (16:54 -0500)]
Fix optional synthesis bug in fixed point mode.

10 years agoFixes two bugs in get_required_bits() for the split cwrs case.
Jean-Marc Valin [Sun, 7 Dec 2008 19:39:42 +0000 (14:39 -0500)]
Fixes two bugs in get_required_bits() for the split cwrs case.

10 years agoFix a case where the new search can leave us with no pulse left
Jean-Marc Valin [Sun, 7 Dec 2008 04:44:55 +0000 (23:44 -0500)]
Fix a case where the new search can leave us with no pulse left

10 years agoCleaned up some junk left from the last allocator change
Jean-Marc Valin [Sat, 6 Dec 2008 12:52:48 +0000 (07:52 -0500)]
Cleaned up some junk left from the last allocator change

10 years agoNew VQ search nearly fixed-point ready
Jean-Marc Valin [Fri, 5 Dec 2008 05:28:28 +0000 (00:28 -0500)]
New VQ search nearly fixed-point ready

10 years agoNew VQ search works in fixed-point even though there's still some float ops left
Jean-Marc Valin [Fri, 5 Dec 2008 04:26:32 +0000 (23:26 -0500)]
New VQ search works in fixed-point even though there's still some float ops left

10 years agoExperimental code to improve both the speed and accuracy of the VQ search
Jean-Marc Valin [Fri, 5 Dec 2008 03:52:26 +0000 (22:52 -0500)]
Experimental code to improve both the speed and accuracy of the VQ search

10 years agoalg_quant() now handles the sign of X[] separately from the quantisation
Jean-Marc Valin [Fri, 5 Dec 2008 02:21:41 +0000 (21:21 -0500)]
alg_quant() now handles the sign of X[] separately from the quantisation
process

10 years agoSupport for 96kHz.
Gregory Maxwell [Tue, 2 Dec 2008 17:06:14 +0000 (12:06 -0500)]
Support for 96kHz.

10 years agoGetting rid of more stuff left from the Speex draft
Jean-Marc Valin [Fri, 28 Nov 2008 19:43:38 +0000 (14:43 -0500)]
Getting rid of more stuff left from the Speex draft

10 years agoFixes a denormalisation issue occuring when multiple packets are lost and the
Jean-Marc Valin [Fri, 28 Nov 2008 04:34:15 +0000 (23:34 -0500)]
Fixes a denormalisation issue occuring when multiple packets are lost and the
signal decays to "not quite zero"

10 years agoCeltclient improvements: A usable usage message and correct usage of the jitter buffer.
Gregory Maxwell [Thu, 27 Nov 2008 01:16:49 +0000 (20:16 -0500)]
Celtclient improvements: A usable usage message and correct usage of the jitter buffer.

10 years agoMore outstanding issues
Jean-Marc Valin [Wed, 26 Nov 2008 21:33:58 +0000 (16:33 -0500)]
More outstanding issues

10 years agoInitial IETF draft
Jean-Marc Valin [Sat, 22 Nov 2008 13:13:16 +0000 (08:13 -0500)]
Initial IETF draft

11 years agofixed test for cases where M_PI isn't defined
Jean-Marc Valin [Tue, 11 Nov 2008 01:59:38 +0000 (20:59 -0500)]
fixed test for cases where M_PI isn't defined

11 years agoBit of cleaning up and comments
Jean-Marc Valin [Sat, 8 Nov 2008 14:14:38 +0000 (09:14 -0500)]
Bit of cleaning up and comments

11 years agoThe fold bit can now be used by the encoder and decoder (encoder still needs
Jean-Marc Valin [Sat, 8 Nov 2008 03:53:13 +0000 (22:53 -0500)]
The fold bit can now be used by the encoder and decoder (encoder still needs
EXP_PSY)

11 years agoDisabling the folding sign bit
Jean-Marc Valin [Fri, 7 Nov 2008 02:55:41 +0000 (21:55 -0500)]
Disabling the folding sign bit

11 years agoexperimental code for choosing whether to apply folding for the high bands
Jean-Marc Valin [Thu, 6 Nov 2008 02:54:37 +0000 (21:54 -0500)]
experimental code for choosing whether to apply folding for the high bands

11 years agoIn some conditions the allocation could run out of bits and attempt to allocate a...
Gregory Maxwell [Wed, 29 Oct 2008 00:28:28 +0000 (20:28 -0400)]
In some conditions the allocation could run out of bits and attempt to allocate a negative number of pulses.

11 years agoFixed use of the jitter buffer in celtclient.
Gregory Maxwell [Tue, 28 Oct 2008 17:18:10 +0000 (13:18 -0400)]
Fixed use of the jitter buffer in celtclient.

11 years agoLatest psychoacoustics work -- still highly experimental
Jean-Marc Valin [Mon, 27 Oct 2008 02:00:26 +0000 (22:00 -0400)]
Latest psychoacoustics work -- still highly experimental

11 years agoFixes some issues in the MF range coder on systems were ints are 16 bits.
Timothy B.B Terriberry [Sun, 19 Oct 2008 18:24:53 +0000 (14:24 -0400)]
Fixes some issues in the MF range coder on systems were ints are 16 bits.

11 years agore-enable support for resizable buffers in the range coder
Jean-Marc Valin [Sat, 18 Oct 2008 13:11:05 +0000 (09:11 -0400)]
re-enable support for resizable buffers in the range coder

11 years agoEncoder now writes data directly in the user buffer
Jean-Marc Valin [Sat, 18 Oct 2008 11:44:35 +0000 (07:44 -0400)]
Encoder now writes data directly in the user buffer

11 years agoMultiply-free version of the range coder. Haven't yet decided which version to
Jean-Marc Valin [Sat, 18 Oct 2008 01:27:21 +0000 (21:27 -0400)]
Multiply-free version of the range coder. Haven't yet decided which version to
use.

11 years agoTonality estimation code
Jean-Marc Valin [Wed, 15 Oct 2008 11:29:58 +0000 (07:29 -0400)]
Tonality estimation code

11 years agoREADME update
Jean-Marc Valin [Sat, 11 Oct 2008 00:14:44 +0000 (20:14 -0400)]
README update

11 years agoPreparing for 0.5.0
Jean-Marc Valin [Thu, 9 Oct 2008 11:27:10 +0000 (07:27 -0400)]
Preparing for 0.5.0

11 years agoAdd support for a complexity argument to both testcelt and celtenc.
Gregory Maxwell [Wed, 8 Oct 2008 16:45:55 +0000 (12:45 -0400)]
Add support for a complexity argument to both testcelt and celtenc.

11 years agofix STATIC_MODES for stereo (with a few fixes by JMV)
Wessel Lubberhuizen [Mon, 6 Oct 2008 08:26:13 +0000 (10:26 +0200)]
fix STATIC_MODES for stereo (with a few fixes by JMV)

11 years agocelt_encoder_ctl() is a bit more type-safe.
Jean-Marc Valin [Mon, 6 Oct 2008 02:39:13 +0000 (22:39 -0400)]
celt_encoder_ctl() is a bit more type-safe.

11 years agoFixed support for STATIC_MODES
Jean-Marc Valin [Sun, 5 Oct 2008 02:37:11 +0000 (22:37 -0400)]
Fixed support for STATIC_MODES

11 years agoRemoving the 64-bit part of the range coder.
Jean-Marc Valin [Sun, 5 Oct 2008 01:10:26 +0000 (21:10 -0400)]
Removing the 64-bit part of the range coder.

11 years agoFix stereo support; correctly deallocate bits_stereo.
Gregory Maxwell [Fri, 3 Oct 2008 21:12:44 +0000 (17:12 -0400)]
Fix stereo support; correctly deallocate bits_stereo.

11 years agolookahead no longer defined when creating a mode
Jean-Marc Valin [Fri, 3 Oct 2008 11:30:08 +0000 (07:30 -0400)]
lookahead no longer defined when creating a mode

11 years agofix stack handling
Wessel Lubberhuizen [Fri, 3 Oct 2008 11:09:29 +0000 (07:09 -0400)]
fix stack handling

11 years agocompute_alloc_cache() isn't defined when STATIC_MODES is.
Jean-Marc Valin [Fri, 3 Oct 2008 03:52:46 +0000 (23:52 -0400)]
compute_alloc_cache() isn't defined when STATIC_MODES is.

11 years agos/unsigned/celt_uint32_t/
Jean-Marc Valin [Wed, 1 Oct 2008 23:41:54 +0000 (19:41 -0400)]
s/unsigned/celt_uint32_t/

11 years agoAPI: Change celt_encode and celt_encode_float so that they take an optional synthesis...
Gregory Maxwell [Tue, 30 Sep 2008 22:20:14 +0000 (18:20 -0400)]
API: Change celt_encode and celt_encode_float so that they take an optional synthesis parameter after the PCM input. If optional_synthesis is null the encoder will be able to save some computation. If optional_synthesis is non-null if will be used to write the encoder's expectation of the decoder's output. Synthesis may alias the input pcm, so calling the encoder with the same buffer twice will achieve the old behavior. Remove 'restrict' from the CTL prototype.

11 years agoAdded celt_encoder_ctl() and CELT_SET_COMPLEXITY
Jean-Marc Valin [Tue, 30 Sep 2008 11:36:54 +0000 (07:36 -0400)]
Added celt_encoder_ctl() and CELT_SET_COMPLEXITY

11 years agoProper stack restore
Jean-Marc Valin [Mon, 29 Sep 2008 21:41:14 +0000 (17:41 -0400)]
Proper stack restore

11 years agoFix support for sample rates between 32kHz and 40kHz (lower rates are currently rejec...
Gregory Maxwell [Sun, 28 Sep 2008 08:19:19 +0000 (04:19 -0400)]
Fix support for sample rates between 32kHz and 40kHz (lower rates are currently rejected, but work okay).

11 years agoSupporting large prime factors in the FFT
Jean-Marc Valin [Sun, 28 Sep 2008 02:14:18 +0000 (22:14 -0400)]
Supporting large prime factors in the FFT

11 years agoAllow all even frame sizes, change the selection of number of short MDCTs per frame...
Gregory Maxwell [Sat, 27 Sep 2008 20:20:03 +0000 (16:20 -0400)]
Allow all even frame sizes, change the selection of number of short MDCTs per frame to be more intelligent.

11 years agoFix support for 64 sample frames.
Gregory Maxwell [Tue, 23 Sep 2008 23:28:35 +0000 (19:28 -0400)]
Fix support for 64 sample frames.

11 years agoAdd an additional 1/16th bit of padding to avoid budget busting on some inputs.
Gregory Maxwell [Tue, 23 Sep 2008 22:25:07 +0000 (18:25 -0400)]
Add an additional 1/16th bit of padding to avoid budget busting on some inputs.

11 years agoSome more tuning
Jean-Marc Valin [Mon, 22 Sep 2008 14:46:55 +0000 (10:46 -0400)]
Some more tuning

11 years agoUnb0rked a fixed-point regression caused in 7bb339d
Jean-Marc Valin [Mon, 22 Sep 2008 14:25:46 +0000 (10:25 -0400)]
Unb0rked a fixed-point regression caused in 7bb339d

11 years agoMerge branch 'cwrs_speedup'
Jean-Marc Valin [Mon, 22 Sep 2008 02:33:14 +0000 (22:33 -0400)]
Merge branch 'cwrs_speedup'

Conflicts:
libcelt/cwrs.c
tests/cwrs32-test.c

11 years agoChange cwrsi() to operate on rows of U instead of columns.
Timothy B.B Terriberry [Sun, 21 Sep 2008 19:10:58 +0000 (15:10 -0400)]
Change cwrsi() to operate on rows of U instead of columns.

It is no slower with a large number of pulses, and as much as 30% faster with
 a large number of dimensions.

11 years agoSplit the last pulse out of the alg_quant() main loop.
Jean-Marc Valin [Mon, 22 Sep 2008 01:11:39 +0000 (21:11 -0400)]
Split the last pulse out of the alg_quant() main loop.

11 years agoDividing by a constant is never good
Jean-Marc Valin [Fri, 19 Sep 2008 21:49:21 +0000 (17:49 -0400)]
Dividing by a constant is never good

11 years agoRemoved a bunch of divides from the fine energy quantisation
Jean-Marc Valin [Fri, 19 Sep 2008 21:22:44 +0000 (17:22 -0400)]
Removed a bunch of divides from the fine energy quantisation

11 years agoSome bit-allocation tuning
Jean-Marc Valin [Fri, 19 Sep 2008 20:49:26 +0000 (16:49 -0400)]
Some bit-allocation tuning