Gregory Maxwell
d32f94876e
Prevents OPUS_RESET_STATE from causing segfault.
2011-09-04 07:51:31 -04:00
Gregory Maxwell
e03af4423d
Prevent double free on encoder/decoder init failure.
2011-09-04 04:43:11 -04:00
Gregory Maxwell
a40721a92e
Make opus_decoder_create set its error code.
2011-09-04 04:25:12 -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
e335065a1b
passing self_delimited flag to opus_packet_parse_impl() in decoder
2011-09-01 20:55:07 -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
0446563010
Implements OPUS_RESET_STATE for the decoder (untested)
2011-08-30 18:01:06 -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
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
d4e9340591
Adds support for multi-stream encoding/decoding
...
Only tested for the single-stream case!
2011-08-27 01:15:43 -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
Timothy B. Terriberry
7954065c77
Adds code for parsing self-delimited packets
2011-08-18 23:29:52 -04:00
Jean-Marc Valin
69549ac05b
Renaming "mode" option to "application"
2011-08-18 17:28:28 -04:00
Jean-Marc Valin
6bb1c1838d
opus_packet_parse() now returns the payload offset rather than the pointer
2011-08-18 15:54:00 -04:00
Jean-Marc Valin
8fe8b8e0b6
Making sure the decoder always outputs at least 2.5 ms
2011-08-18 15:00:59 -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
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
4154dad41e
Refactoring the decoder to create opus_packet_parse()
2011-08-08 11:57:13 -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
ff5f7228fd
Renamed celt_word* to opus_val*
2011-07-29 18:59:12 -04:00
Jean-Marc Valin
f9d14f8d77
Renamed SKP_[u]int* to opus_[u]int*
2011-07-29 18:39:57 -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
Ralph Giles
bf79a080ea
Fix a comment in frame count byte decoding.
...
A comment in opus_decode() said, "bit 6 is ignored" when in
fact bit 6 is the padding flag, parsed in the previous block.
The comment, and the previous one, are modified to reflect
the current code.
2011-07-29 09:09:04 -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
0d031d61a3
proper stereo handling for multiple frames per packet
2011-07-05 17:06:43 -04:00
Jean-Marc Valin
ef7095cdc3
More decoder corner case fixes
2011-07-05 15:48:20 -04:00
Jean-Marc Valin
a0653ed1e7
Fixes a bunch of valgrind errors when decoding random junk
2011-07-05 13:33:45 -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
047f0256c8
Fixes a crash in silk prefill (used for mode switching)
...
Also fixes two stereo mode switching issues.
2011-05-27 10:03:58 -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
Timothy B. Terriberry
a11795c47e
Reject more invalid packets in the decoder.
...
Code 3 packets with 0 frames are now invalid, and any packet with a
frame larger than 1275 bytes is invalid (to allow for
repacketization).
2011-05-10 14:04:31 -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
Koen Vos
d8765e54ea
SILK update
2011-04-27 00:51:03 -04:00
Jean-Marc Valin
43c260ba54
Implementing bit-stream padding
2011-03-30 15:46:42 +02:00
Jean-Marc Valin
381c706add
Making mode switching use the same window as CELT (squared)
2011-03-21 13:53:40 -04:00