Jean-Marc Valin
6268300c5e
Merge remote-tracking branch 'greg/master'
...
Conflicts:
src/opus_encoder.c
2011-09-02 17:23:22 -04:00
Jean-Marc Valin
c681bd0480
Improved mode/channel/bandwidth control mechanism
...
Now has tuning parameters for mono/stereo and voice/music. Also switches
to stereo during swb and without reducing the bandwidth.
2011-09-02 14:47:26 -04:00
Gregory Maxwell
64a3541aa9
Corrects many places where int was used where opus_int32 was needed.
2011-09-02 12:16:22 -04:00
Jean-Marc Valin
ec2802210c
Removes code that became useless with the Opus-level highpass
2011-09-01 21:47:38 -04:00
Jean-Marc Valin
957f7f169b
First attempt at global high-pass filter
...
Doesn't work for fixed-point for some unknown reason
2011-09-01 19:47:35 -04:00
Jean-Marc Valin
2f0ca7618d
Simplifying buffering to make an Opus-level highpass possible
2011-09-01 16:56:40 -04:00
Jean-Marc Valin
06237d7b8c
Implements the OpusCustom modes (mostly) properly
2011-09-01 13:20:40 -04:00
Jean-Marc Valin
f9e701ad24
Sharing more macros between the Opus code and the CELT low-level code
2011-08-31 17:52:10 -04:00
Jean-Marc Valin
875f8dbd56
Makes the CELT init() functions behave just like the Opus ones.
2011-08-31 16:43:08 -04:00
Jean-Marc Valin
58686e6fe1
Opus now only uses the _with_ec() calls to CELT
2011-08-31 16:25:50 -04:00
Jean-Marc Valin
927488b292
Implements OPUS_RESET_STATE for the encoder (untested as well)
2011-08-30 20:09:22 -04:00
Jean-Marc Valin
be89c39587
Using OPUS_ macros for <string.h> operations
...
Removes a bunch of system #include <...> in the process
2011-08-30 12:39:51 -04:00
Jean-Marc Valin
44e27dd8c2
Adds missing RESTORE_STACK to Opus encoder
2011-08-29 23:35:17 -04:00
Jean-Marc Valin
69bfc67109
Fixes a bug introduced in 8fe8b8e0b
...
The SILK bandwidth was incorrectly encoded in the ToC when SILK wasn't
using the "desired bandwidth"
2011-08-29 21:46:17 -04:00
Jean-Marc Valin
9bcfdb0d50
Fixes warnings
2011-08-29 16:25:54 -04:00
Jean-Marc Valin
85b8e62065
Fixes minor issues from the previous allocation wrapper patch
2011-08-29 16:10:08 -04:00
Jean-Marc Valin
07f884042e
Wrapping all allocation within opus_alloc() and opus_free()
2011-08-29 15:08:51 -04:00
Jean-Marc Valin
9d8dc3a3cb
Better error handling in the Opus API
2011-08-29 09:40:57 -04:00
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