Commit graph

86 commits

Author SHA1 Message Date
Jean-Marc Valin
e766d9f63d s/INBAND_FEC_FLAG/INBAND_FEC/ 2011-08-28 20:27:18 -04:00
Gregory Maxwell
6db1d526b4 Disable the LPC mode highpass filter when set to APPLICATION_AUDIO. 2011-08-26 15:01:10 -04:00
Jean-Marc Valin
073c4e1472 More precise CELT/SILK delay compensation to reduce mode switching glitches 2011-08-26 13:01:42 -04:00
Ralph Giles
04cca289dc Expand tabs and regularize some conditionals. 2011-08-24 00:29:29 -04:00
Jean-Marc Valin
6696a1443b Moves align() to a single header 2011-08-22 10:40:38 -04:00
Jean-Marc Valin
2b98bdf532 Better handling of DTX for range coder state checks 2011-08-20 00:21:46 -04:00
Jean-Marc Valin
d48277374a Final range coder state now exposed through the ctl() interface 2011-08-19 17:07:16 -04:00
Jean-Marc Valin
06cee2b1b4 Including redundant frames in the final range coder state 2011-08-19 16:21:42 -04:00
Jean-Marc Valin
d9920f34e9 Removes opus_encoder.h and opus_decoder.h
Moves opaque structs directly to .c files
2011-08-19 13:00:49 -04:00
Jean-Marc Valin
69549ac05b Renaming "mode" option to "application" 2011-08-18 17:28:28 -04:00
Jean-Marc Valin
d7f6700f16 s/OPUS_SET_VBR_FLAG/OPUS_SET_VBR/ 2011-08-18 16:55:24 -04:00
Jean-Marc Valin
421a628f4d Changing the encoder to output the ToC in DTX mode
Also fixes the "output all zeros" case for DTX/PLC at the beginning of
a stream
2011-08-18 14:34:18 -04:00
Jean-Marc Valin
222494f3ea Adds a floating-point API to Opus
The high-level Opus encoder and decoder can now be compiled as
either fixed or float. Also, we now use the stack_alloc.h macros
in the top-level Opus code.
2011-08-17 15:53:37 -04:00
Jean-Marc Valin
66ff26f356 Define CELT bitrate=-1 as "unlimited" (i.e. all bytes given) 2011-08-15 22:37:11 -04:00
Jean-Marc Valin
51ac8e68e6 Fixes a high bit-rate redundant frame bug
We now ensure that the total payload *including* the redundant frame
is no more than 1275 bytes. Also, the redundant frame itself must
be no more than 257 (the max that can be signalled).
2011-08-15 22:06:02 -04:00
Gregory Maxwell
03f7de77a4 Strip off trailing zero bytes when in LPC mode.
Saves about 60 bits/sec for 20ms frames.
2011-08-15 18:22:23 -04:00
Jean-Marc Valin
66c612ef43 Fixes an encoder bugg when requesting a CBR rate over the allowable limit 2011-08-15 14:08:57 -04:00
Jean-Marc Valin
81936d5ffd Properly take into account the frame size to decide the mode 2011-08-13 01:44:39 -04:00
Jean-Marc Valin
6854556556 Fixes a mode transition bug found by fuzzing
During SILK->CELT transitions, we were delaying the mode change by
one frame, but only after having ensured that bandwidth and mode were
consistent. We now do the delaying earlier.
2011-08-12 00:30:47 -04:00
Jean-Marc Valin
f334c82ec3 Adds a fuzzing mode that causes the encoder to make random decisions 2011-08-11 16:48:05 -04:00
Jean-Marc Valin
9d8b519699 Adds OPUS_GET_LOOKAHEAD 2011-08-03 12:44:37 -04:00
Ralph Giles
641eea83b8 Regularize whitespace in the src directory.
Remove trailing whitespace, convert tabs to 4 spaces, re-align
test_opus to use 4-space indents instead of 3, and re-wrap some
long lines.
2011-08-02 10:06:59 -07:00
Jean-Marc Valin
d6a0216cf1 Making use of the opus_int* types in the toplevel Opus code 2011-07-29 20:10:27 -04:00
Jean-Marc Valin
d77d6a58fc Renamed celt_[u]int* to opus_[u]int* 2011-07-29 17:33:06 -04:00
Ralph Giles
3f0962cc1e Always enable OPUS_TEST_RANGE_CODER_STATE.
This removes the configurability of the OPUS_TEST_RANGE_CODER_STATE
consistency check, in favour of always running it. The performance
penalty is low, and it's an important check on correctness for the
reference encoder to provide.
2011-07-29 17:11:59 -04:00
Jean-Marc Valin
cc14cdf875 Ensures that the end band is always set for redundant frames 2011-07-07 22:39:56 -04:00
Jean-Marc Valin
d3358b1d42 Better error checking, getting 60 ms to work again 2011-06-14 14:48:53 -04:00
Jean-Marc Valin
23a900cebf Defensive programming: added some error checking 2011-06-14 14:34:02 -04:00
Jean-Marc Valin
00cb6f7ab4 splitting encoder config in terms of application and signal type 2011-05-26 15:06:30 -04:00
Jean-Marc Valin
541df0a97e Fixes an issue when triggering PLC before receiving any packet
also s/BANDWIDTH/OPUS_BANDWIDTH/
2011-05-26 00:22:58 -04:00
Koen Vos
479e18bcb7 Removes auto mode and fixes a force_mono issue 2011-05-25 23:09:52 -04:00
Jean-Marc Valin
baed21dc9d Fixes a bug in the init() functions where were weren't zeroing the entire state 2011-05-19 17:25:48 -04:00
Jean-Marc Valin
103302b375 Squashed commit of the following:
commit 5b64cf7c4d67af9050bc959996ef976ce6326888
Author: Jean-Marc Valin <jean-marc.valin@octasic.com>
Date:   Thu May 19 16:40:35 2011 -0400

    Fixes a few bugs introduced in the latest update

commit b91eb86025d2de3c4cf04f4fb1aa48a28ad676a3
Author: Timothy B. Terriberry <tterribe@xiph.org>
Date:   Thu May 19 16:12:02 2011 -0400

    build_draft.sh fixes

commit 0b10c30db7ad60ff7d4bfc1139bdb86e0543c035
Author: Jean-Marc Valin <jean-marc.valin@octasic.com>
Date:   Thu May 19 15:30:21 2011 -0400

    Fixes the draft build

commit 164424cded5978e657105104e171ac202dde5e5b
Author: Jean-Marc Valin <jean-marc.valin@octasic.com>
Date:   Thu May 19 15:00:23 2011 -0400

    Updated build system

commit 188d9fcba8c3a1b1ad67c67c430e1b37e3658a40
Author: Koen Vos <koen.vos@skype.net>
Date:   Thu May 19 17:14:57 2011 -0400

    SILK/Opus update
2011-05-19 17:17:44 -04:00
Jean-Marc Valin
ba547467c0 Adding a decent auto/default bit-rate choice 2011-05-10 17:54:41 -04:00
Jean-Marc Valin
280c060bb1 Adds opus_{en|de}coder_init() and opus_{en|de|coder_get_size() 2011-05-05 20:47:42 -04:00
Jean-Marc Valin
5095c47053 Removes pointers from the Opus state
We now store the SILK/CELT offsets so that the Opus state can
now be moved/copied elsewhere in memory without problem
2011-05-05 19:47:48 -04:00
Jean-Marc Valin
9edde42690 Improvements to error handling and warning fixes 2011-05-05 15:30:44 -04:00
Jean-Marc Valin
09c6766012 Rewrote the bandwidth selection code
New code should be cleaner and easier to tune
2011-05-04 22:36:56 -04:00
Jean-Marc Valin
85c599f93c Minor tuning the WB/SWB and SWB/FB thresholds 2011-05-04 21:01:20 -04:00
Jean-Marc Valin
243ff0c63b comments 2011-05-03 17:06:54 -04:00
Jean-Marc Valin
0734cad597 Fixes bandwidth decision when reducing the bit-rate 2011-05-03 16:20:11 -04:00
Jean-Marc Valin
105d751c94 Fixes 60 ms speech mode 2011-04-29 21:04:35 -04:00
Jean-Marc Valin
c1673fa9c6 Relying on SILK for the switching decisions 2011-04-28 08:04:20 -04:00
Jean-Marc Valin
499f328d5f Tuning the bandwidth decision 2011-04-27 16:32:24 -04:00
Jean-Marc Valin
d8f9097c2b Changing the SILK bandwidth only when there's no speech 2011-04-27 10:06:53 -04:00
Koen Vos
d8765e54ea SILK update 2011-04-27 00:51:03 -04:00
Jean-Marc Valin
d2124cdf0d Loss rate adaptation for the CELT layer 2011-04-25 13:36:14 -04:00
Jean-Marc Valin
eed33090eb Minor redundant frame fixes 2011-03-18 16:29:15 -04:00
Jean-Marc Valin
617fcd2cf0 Fixes a few PLC/DTX bugs due to the recent decode API change 2011-03-16 22:11:53 -04:00
Jean-Marc Valin
b55b66119b Adding constrained VBR mode 2011-03-14 15:11:44 -04:00