opus.git
10 years agoMore simplifications from denorm pitch
Jean-Marc Valin [Mon, 28 Sep 2009 23:17:34 +0000 (19:17 -0400)]
More simplifications from denorm pitch

10 years agoRemoved code that is no longer necessary with denorm pitch and spreading
Jean-Marc Valin [Fri, 18 Sep 2009 02:38:34 +0000 (22:38 -0400)]
Removed code that is no longer necessary with denorm pitch and spreading

10 years agoenabling denorm pitch only at low bit-rate
Jean-Marc Valin [Wed, 16 Sep 2009 11:57:17 +0000 (07:57 -0400)]
enabling denorm pitch only at low bit-rate

10 years agofixed-point: denorm pitch converted
Jean-Marc Valin [Wed, 16 Sep 2009 03:39:27 +0000 (23:39 -0400)]
fixed-point: denorm pitch converted

10 years agodenorm pitch works in fixed-point (though there's still some floats left)
Jean-Marc Valin [Wed, 16 Sep 2009 02:38:40 +0000 (22:38 -0400)]
denorm pitch works in fixed-point (though there's still some floats left)

10 years agodoing pitch in denormalized domain
Jean-Marc Valin [Tue, 15 Sep 2009 02:50:41 +0000 (22:50 -0400)]
doing pitch in denormalized domain

10 years agoremoved unused #ifdefs
Jean-Marc Valin [Mon, 14 Sep 2009 00:15:24 +0000 (20:15 -0400)]
removed unused #ifdefs

10 years agoOnly calling intra_fold() when there's no pulse allocated
Jean-Marc Valin [Sat, 12 Sep 2009 00:28:29 +0000 (20:28 -0400)]
Only calling intra_fold() when there's no pulse allocated

10 years agoRe-introducing the successive rotations as a way to control low-bitrate
Jean-Marc Valin [Sat, 29 Aug 2009 21:52:03 +0000 (22:52 +0100)]
Re-introducing the successive rotations as a way to control low-bitrate
tonal artefacts. This replaces folding for all cases where we have at least
one pulse.

10 years agoBetter fading for PLC: no fading for the first loss, muting after 6
Jean-Marc Valin [Thu, 13 Aug 2009 01:34:01 +0000 (21:34 -0400)]
Better fading for PLC: no fading for the first loss, muting after 6

10 years agoDisabling some checks for the C55
Jean-Marc Valin [Thu, 13 Aug 2009 00:29:57 +0000 (20:29 -0400)]
Disabling some checks for the C55

10 years agoMaking it possible to use the C64x FFT
Jean-Marc Valin [Wed, 12 Aug 2009 02:12:50 +0000 (22:12 -0400)]
Making it possible to use the C64x FFT

10 years agoForcing side to be orthogonal to mid for N=2. This saves one degree of freedom.
Jean-Marc Valin [Tue, 21 Jul 2009 03:33:40 +0000 (23:33 -0400)]
Forcing side to be orthogonal to mid for N=2. This saves one degree of freedom.

10 years agoMaking sure each band has a width that's a multiple of the number of MDCTs
Jean-Marc Valin [Mon, 20 Jul 2009 01:07:12 +0000 (21:07 -0400)]
Making sure each band has a width that's a multiple of the number of MDCTs

10 years agoFixes typo in C6x macro.
Jean-Marc Valin [Sun, 9 Aug 2009 13:21:48 +0000 (09:21 -0400)]
Fixes typo in C6x macro.

10 years agoC89 and 16-bit fixes
Jean-Marc Valin [Sat, 8 Aug 2009 17:23:03 +0000 (13:23 -0400)]
C89 and 16-bit fixes

10 years agoAllocating enough mem in celtenc/celtdec to handle 1024-sample frames
Jean-Marc Valin [Sat, 1 Aug 2009 21:22:51 +0000 (23:22 +0200)]
Allocating enough mem in celtenc/celtdec to handle 1024-sample frames

10 years agoThis fixes a VBR bug introduced by raw bits. We should not write any raw
Jean-Marc Valin [Sat, 1 Aug 2009 21:05:47 +0000 (23:05 +0200)]
This fixes a VBR bug introduced by raw bits. We should not write any raw
bit before the rate is decided (otherwise they'll end up at the wrong place)
and we have to shrink the byte buffer before writing raw bits.

10 years agoChanging some code to use BITRES directly instead of its value.
Jean-Marc Valin [Sun, 26 Jul 2009 00:42:24 +0000 (20:42 -0400)]
Changing some code to use BITRES directly instead of its value.

10 years agoRaw bits encoding/decoding functions renamed to *_raw() and re-introducing
Jean-Marc Valin [Sun, 26 Jul 2009 00:16:01 +0000 (20:16 -0400)]
Raw bits encoding/decoding functions renamed to *_raw() and re-introducing
original ec_encode_bin()/ec_decode_bin() to optimize performance when ft is
a power of two.

10 years agoRaw bits enabled for the multiply-free range coder too.
Jean-Marc Valin [Fri, 24 Oct 2008 00:07:18 +0000 (20:07 -0400)]
Raw bits enabled for the multiply-free range coder too.

10 years agoImplemented "raw bits"
Jean-Marc Valin [Thu, 18 Jun 2009 03:23:46 +0000 (23:23 -0400)]
Implemented "raw bits"

Making it so all the information encoded directly with ec_enc_bits() gets
stored at the end of the stream, without going through the range coder. This
should be both faster and reduce the effects of bit errors.

Conflicts:

tests/ectest.c

10 years agoChange end-of-stream handling in the range coder.
Timothy B. Terriberry [Sun, 19 Oct 2008 18:41:38 +0000 (14:41 -0400)]
Change end-of-stream handling in the range coder.

Instead of trying to maximize the number of trailing zeros (minimize the number
 of bits encoded), we try to maximize the number of trailing bits that can
 contain arbitrary data.
Note that this requires ec_enc_tell() and ec_dec_tell() to reserve an extra
 bit, since depending on the exact final codeword, as little as half the final
 range might be available for storing arbitrary data.
This is the first step needed to start packing literal bits outside the range
 coder (for speed and robustness purposes).

10 years agoReducing the size of the pulses->bits cache by restricting the number of pulses
Jean-Marc Valin [Wed, 22 Jul 2009 11:48:35 +0000 (07:48 -0400)]
Reducing the size of the pulses->bits cache by restricting the number of pulses
possible

10 years agoC89 compatibility fixes for pseudo-stack mode.
Jean-Marc Valin [Tue, 21 Jul 2009 03:40:35 +0000 (23:40 -0400)]
C89 compatibility fixes for pseudo-stack mode.

Conflicts:

libcelt/celt.c

10 years agoBump version number to 0.6.1
Jean-Marc Valin [Tue, 14 Jul 2009 00:37:06 +0000 (20:37 -0400)]
Bump version number to 0.6.1

10 years agoAllocating 100k for the pseudo stack so we're sure to be (more than) safe
Jean-Marc Valin [Mon, 13 Jul 2009 21:50:59 +0000 (17:50 -0400)]
Allocating 100k for the pseudo stack so we're sure to be (more than) safe

10 years agoietf doc: Last minute changes to the drafts
Jean-Marc Valin [Mon, 13 Jul 2009 19:40:17 +0000 (15:40 -0400)]
ietf doc: Last minute changes to the drafts

10 years agoClarifying the transient time-domain pre-emphasis and energy prediction to
Jean-Marc Valin [Mon, 13 Jul 2009 15:10:02 +0000 (11:10 -0400)]
Clarifying the transient time-domain pre-emphasis and energy prediction to
address Koen Vos' comments.

10 years agoUpdating draft to match latest code changes
Jean-Marc Valin [Mon, 13 Jul 2009 02:19:31 +0000 (22:19 -0400)]
Updating draft to match latest code changes

10 years agoUsing normalised M/S stereo data for folding and use separate folding gains
Jean-Marc Valin [Mon, 13 Jul 2009 00:41:29 +0000 (20:41 -0400)]
Using normalised M/S stereo data for folding and use separate folding gains
for M and S.

10 years agoThis patch makes it safe to call the encode / decode functions with a NULL pointer...
Gregory Maxwell [Thu, 9 Jul 2009 21:07:24 +0000 (17:07 -0400)]
This patch makes it safe to call the encode / decode functions with a NULL pointer in place of the pcm buffer.

10 years agoUsing MS stereo for all bands, fixing a few bugs in the stereo folding
Jean-Marc Valin [Sun, 12 Jul 2009 04:58:50 +0000 (00:58 -0400)]
Using MS stereo for all bands, fixing a few bugs in the stereo folding

10 years agoietf doc: clarifications
Jean-Marc Valin [Fri, 10 Jul 2009 15:51:44 +0000 (11:51 -0400)]
ietf doc: clarifications

10 years agoAllowing frame sizes up to 1024, with pitch enabled only up to 512
Jean-Marc Valin [Thu, 9 Jul 2009 02:21:31 +0000 (22:21 -0400)]
Allowing frame sizes up to 1024, with pitch enabled only up to 512

10 years agoMost suggestions by Stefan Sayer.
Jean-Marc Valin [Wed, 8 Jul 2009 15:19:46 +0000 (11:19 -0400)]
Most suggestions by Stefan Sayer.

10 years agoSuggestions/corrections by Stefan Sayer.
Jean-Marc Valin [Wed, 8 Jul 2009 13:43:40 +0000 (09:43 -0400)]
Suggestions/corrections by Stefan Sayer.

10 years agoietf doc: final tweak
Jean-Marc Valin [Sun, 5 Jul 2009 03:02:46 +0000 (23:02 -0400)]
ietf doc: final tweak

10 years agoremoved useless comments
Jean-Marc Valin [Sun, 5 Jul 2009 02:46:38 +0000 (22:46 -0400)]
removed useless comments

10 years agoietf doc: stereo and other details
Jean-Marc Valin [Sun, 5 Jul 2009 02:22:18 +0000 (22:22 -0400)]
ietf doc: stereo and other details

10 years agoMaking real sure not to bust the pseudo-stack even for weird configurations
Jean-Marc Valin [Sun, 5 Jul 2009 01:58:30 +0000 (21:58 -0400)]
Making real sure not to bust the pseudo-stack even for weird configurations

10 years agoietf doc: more corrections
Jean-Marc Valin [Sun, 5 Jul 2009 01:21:00 +0000 (21:21 -0400)]
ietf doc: more corrections

10 years agoief doc: Moving allocation matrix interpolation to the "Modes" section
Jean-Marc Valin [Sat, 4 Jul 2009 11:19:34 +0000 (07:19 -0400)]
ief doc: Moving allocation matrix interpolation to the "Modes" section

10 years agoietf doc: removed duplicate paragraph in allocation section
Jean-Marc Valin [Sat, 4 Jul 2009 04:31:03 +0000 (00:31 -0400)]
ietf doc: removed duplicate paragraph in allocation section

10 years agoietf doc: An initial attempt at explaining the allocation machinery.
Gregory Maxwell [Sat, 4 Jul 2009 02:44:27 +0000 (22:44 -0400)]
ietf doc: An initial attempt at explaining the allocation machinery.

10 years agoietf doc: fixed a few minor things that were broken in the last changes
Jean-Marc Valin [Sat, 4 Jul 2009 02:24:40 +0000 (22:24 -0400)]
ietf doc: fixed a few minor things that were broken in the last changes

10 years agocopyedit
Kat Walsh [Fri, 3 Jul 2009 23:54:56 +0000 (19:54 -0400)]
copyedit

10 years agoietf doc: misc
Jean-Marc Valin [Fri, 3 Jul 2009 21:36:05 +0000 (17:36 -0400)]
ietf doc: misc

10 years agoTuning the folding gain to be higher when there's only one pulse and lower
Jean-Marc Valin [Fri, 3 Jul 2009 19:09:07 +0000 (15:09 -0400)]
Tuning the folding gain to be higher when there's only one pulse and lower
when there are many pulses.

10 years agoietf stuff: cwrs and split.
Jean-Marc Valin [Fri, 3 Jul 2009 19:00:05 +0000 (15:00 -0400)]
ietf stuff: cwrs and split.

10 years agoietf doc: s/bytes/octet/
Jean-Marc Valin [Fri, 3 Jul 2009 17:03:51 +0000 (13:03 -0400)]
ietf doc: s/bytes/octet/

10 years agoietf doc: fixing up references, removed misleading comments in rangedec.c
Jean-Marc Valin [Fri, 3 Jul 2009 14:44:16 +0000 (10:44 -0400)]
ietf doc: fixing up references, removed misleading comments in rangedec.c

10 years agoietf doc: range decoder, minor corrections
Timothy B. Terriberry [Fri, 3 Jul 2009 14:18:26 +0000 (10:18 -0400)]
ietf doc: range decoder, minor corrections

10 years agoietf doc: description of the range encoder (and a few misc fixes)
Timothy B. Terriberry [Fri, 3 Jul 2009 11:56:37 +0000 (07:56 -0400)]
ietf doc: description of the range encoder (and a few misc fixes)

10 years agoIncreasing allocation to the low-mid frequencies
Christopher Montgomery [Fri, 3 Jul 2009 06:10:17 +0000 (02:10 -0400)]
Increasing allocation to the low-mid frequencies

10 years agoietf doc: spellchecking pass
Jean-Marc Valin [Thu, 2 Jul 2009 21:34:22 +0000 (17:34 -0400)]
ietf doc: spellchecking pass

10 years agoietf doc: minor changes
Jean-Marc Valin [Thu, 2 Jul 2009 21:12:13 +0000 (17:12 -0400)]
ietf doc: minor changes

10 years agoietf doc: energy decoding, build script, misc stuff
Jean-Marc Valin [Thu, 2 Jul 2009 20:09:03 +0000 (16:09 -0400)]
ietf doc: energy decoding, build script, misc stuff

10 years agoietf doc: folding, VBR, misc
Jean-Marc Valin [Thu, 2 Jul 2009 19:04:59 +0000 (15:04 -0400)]
ietf doc: folding, VBR, misc

10 years agoietf doc: more source code formatting changes, got rid of float_cast.h
Jean-Marc Valin [Thu, 2 Jul 2009 17:28:55 +0000 (13:28 -0400)]
ietf doc: more source code formatting changes, got rid of float_cast.h

10 years agoietf doc: cleaning up the build
Jean-Marc Valin [Thu, 2 Jul 2009 14:59:07 +0000 (10:59 -0400)]
ietf doc: cleaning up the build

10 years agoSome unusual frame sizes could run the pseudo-stack out of memory in fixed point...
Gregory Maxwell [Wed, 1 Jul 2009 23:51:02 +0000 (19:51 -0400)]
Some unusual frame sizes could run the pseudo-stack out of memory in fixed point mode.

10 years agofixed-point: fixing two overflows that didn't really affect quality
Jean-Marc Valin [Wed, 1 Jul 2009 13:59:21 +0000 (09:59 -0400)]
fixed-point: fixing two overflows that didn't really affect quality

10 years agoFix compilation of test cases with fixed-debug enabled
Gregory Maxwell [Wed, 1 Jul 2009 07:50:44 +0000 (03:50 -0400)]
Fix compilation of test cases with fixed-debug enabled

10 years agofixing a floating point bug for very small signals
Jean-Marc Valin [Wed, 1 Jul 2009 05:27:48 +0000 (01:27 -0400)]
fixing a floating point bug for very small signals

10 years agoietf doc: misc
Jean-Marc Valin [Wed, 1 Jul 2009 03:54:18 +0000 (23:54 -0400)]
ietf doc: misc

10 years agoUpdate valgrind support to match the latest valgrind API.
Gregory Maxwell [Tue, 30 Jun 2009 05:06:04 +0000 (01:06 -0400)]
Update valgrind support to match the latest valgrind API.
Adjust valgrind mode to insert padding between every allocation to increase sensitivity.

10 years agoietf doc: range coder
Jean-Marc Valin [Tue, 30 Jun 2009 19:27:06 +0000 (15:27 -0400)]
ietf doc: range coder

10 years agoFor some frame sizes there can be 5 shorts in a frame.
Gregory Maxwell [Tue, 30 Jun 2009 15:29:42 +0000 (11:29 -0400)]
For some frame sizes there can be 5 shorts in a frame.
Correct an out of bounds access in this case.

10 years agoThis fixes a potential assertion failure with some very weak signals
Jean-Marc Valin [Tue, 30 Jun 2009 14:31:00 +0000 (10:31 -0400)]
This fixes a potential assertion failure with some very weak signals

10 years agoietf doc: decoder overview (ASCII art)
Jean-Marc Valin [Tue, 30 Jun 2009 03:55:21 +0000 (23:55 -0400)]
ietf doc: decoder overview (ASCII art)

10 years agoietf doc: encoder overview (ASCII art)
Jean-Marc Valin [Tue, 30 Jun 2009 03:42:20 +0000 (23:42 -0400)]
ietf doc: encoder overview (ASCII art)

10 years agoietf doc: pitch description
Jean-Marc Valin [Mon, 29 Jun 2009 21:35:41 +0000 (17:35 -0400)]
ietf doc: pitch description

10 years agoFixes for celt_header_to_packet / celtdec for bigendian systems.
Gregory Maxwell [Mon, 29 Jun 2009 18:03:17 +0000 (14:03 -0400)]
Fixes for celt_header_to_packet / celtdec for bigendian systems.
Add some paranoid validation to the header functions.

10 years agoNote some more platforms where float-approx is tested, fix a bug in the prediction...
Gregory Maxwell [Mon, 29 Jun 2009 16:48:57 +0000 (12:48 -0400)]
Note some more platforms where float-approx is tested, fix a bug in the prediction ctl,
and remove some dead code from bands.c.

10 years agoAdditional mathops.h tests.
Gregory Maxwell [Sun, 28 Jun 2009 23:51:30 +0000 (19:51 -0400)]
Additional mathops.h tests.

10 years agoietf doc: final fine bits, some fixes to the references
Jean-Marc Valin [Sun, 28 Jun 2009 18:46:41 +0000 (14:46 -0400)]
ietf doc: final fine bits, some fixes to the references

10 years agoNumerous autoconf changes. Configure option for FLOAT_APPROX
Gregory Maxwell [Wed, 24 Jun 2009 20:43:33 +0000 (16:43 -0400)]
Numerous autoconf changes. Configure option for FLOAT_APPROX

10 years agoBump version to 0.6.0 and increase bitstream version.
Jean-Marc Valin [Wed, 24 Jun 2009 01:23:18 +0000 (21:23 -0400)]
Bump version to 0.6.0 and increase bitstream version.

10 years agoGives an error when trying to create a stereo mode with DISABLE_STEREO defined.
Jean-Marc Valin [Sun, 21 Jun 2009 13:47:51 +0000 (09:47 -0400)]
Gives an error when trying to create a stereo mode with DISABLE_STEREO defined.

10 years agoMinor simplification to the transient code
Jean-Marc Valin [Fri, 19 Jun 2009 03:33:04 +0000 (23:33 -0400)]
Minor simplification to the transient code

10 years agoSimplifies the stereo mixing code, throwing away some old code.
Jean-Marc Valin [Fri, 19 Jun 2009 03:18:39 +0000 (23:18 -0400)]
Simplifies the stereo mixing code, throwing away some old code.

10 years agoietf doc: misc corrections
Jean-Marc Valin [Thu, 18 Jun 2009 15:20:42 +0000 (11:20 -0400)]
ietf doc: misc corrections

10 years agoFixing a few bugs introduced in the energy interleaving changes and due to
Jean-Marc Valin [Thu, 18 Jun 2009 02:39:46 +0000 (22:39 -0400)]
Fixing a few bugs introduced in the energy interleaving changes and due to
side effects of "continue" statements.

10 years agoInterleaving the left and right final fine energy bits
Jean-Marc Valin [Thu, 18 Jun 2009 01:24:33 +0000 (21:24 -0400)]
Interleaving the left and right final fine energy bits

10 years agoInterleaving the left and right fine energy
Jean-Marc Valin [Thu, 18 Jun 2009 00:37:45 +0000 (20:37 -0400)]
Interleaving the left and right fine energy

10 years agoietf doc: security, VBR, stereo
Jean-Marc Valin [Wed, 17 Jun 2009 21:47:16 +0000 (17:47 -0400)]
ietf doc: security, VBR, stereo

10 years agointealeaving the left and right coarse energy
Jean-Marc Valin [Wed, 17 Jun 2009 12:02:36 +0000 (08:02 -0400)]
intealeaving the left and right coarse energy

10 years agoForced intra now overrides intra avoidance at low rate. Also, using the number
Jean-Marc Valin [Wed, 17 Jun 2009 02:27:12 +0000 (22:27 -0400)]
Forced intra now overrides intra avoidance at low rate. Also, using the number
of bands as criterion for auto-intra disabling.

10 years agoietf doc: stereo description
Jean-Marc Valin [Tue, 16 Jun 2009 20:45:23 +0000 (16:45 -0400)]
ietf doc: stereo description

10 years agoMinor stuff: preventing float underflow in celt_exp2(), preventing the use of
Jean-Marc Valin [Tue, 16 Jun 2009 02:40:06 +0000 (22:40 -0400)]
Minor stuff: preventing float underflow in celt_exp2(), preventing the use of
intra energy for low bitrates, and a bit of very high bitrate tuning

10 years agoThis fixes a folding issue with stereo
Jean-Marc Valin [Mon, 15 Jun 2009 15:22:01 +0000 (11:22 -0400)]
This fixes a folding issue with stereo

10 years agoMore de-interleaving: denormalised MDCT no longer stored with interleaved
Jean-Marc Valin [Sun, 14 Jun 2009 18:05:19 +0000 (14:05 -0400)]
More de-interleaving: denormalised MDCT no longer stored with interleaved
channels. Fixed two stereo bugs in the process: one in the handling of
mdct_weight_shift and one in the PLC.

10 years agoremoving redundant calls to exp2()
Jean-Marc Valin [Sun, 14 Jun 2009 16:31:33 +0000 (12:31 -0400)]
removing redundant calls to exp2()

10 years agoSimplifying the stereo energy quantisation functions now that energy is
Jean-Marc Valin [Sun, 14 Jun 2009 13:29:51 +0000 (09:29 -0400)]
Simplifying the stereo energy quantisation functions now that energy is
de-interleaved

10 years agoNow storing the band energies in de-interleaved format when doing stereo
Jean-Marc Valin [Sun, 14 Jun 2009 13:19:51 +0000 (09:19 -0400)]
Now storing the band energies in de-interleaved format when doing stereo

10 years agoremoving redundant calls to log2()
Jean-Marc Valin [Sun, 14 Jun 2009 02:59:43 +0000 (22:59 -0400)]
removing redundant calls to log2()

10 years agofloat approximations for log2() and exp2()
Jean-Marc Valin [Sun, 14 Jun 2009 02:30:46 +0000 (22:30 -0400)]
float approximations for log2() and exp2()

10 years agoietf doc: characteristics, bit-stream
Jean-Marc Valin [Fri, 12 Jun 2009 21:41:08 +0000 (17:41 -0400)]
ietf doc: characteristics, bit-stream

10 years agoietf doc: PVQ search
Jean-Marc Valin [Fri, 12 Jun 2009 20:52:44 +0000 (16:52 -0400)]
ietf doc: PVQ search