Commit graph

88 commits

Author SHA1 Message Date
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