Commit graph

107 commits

Author SHA1 Message Date
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
Jean-Marc Valin
ea8fbf46d5 Simplifying PLC switching to have an overlap of 2.5 ms too 2011-03-18 16:42:42 -04:00
Jean-Marc Valin
c983bb471a Minor code simplifications 2011-03-18 16:35:40 -04:00
Jean-Marc Valin
eed33090eb Minor redundant frame fixes 2011-03-18 16:29:15 -04:00
Jean-Marc Valin
f2c8e5dfee CELT update
With minor fixes
2011-03-18 15:49:18 -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
ac768f3363 More error handling 2011-03-14 11:44:16 -04:00
Jean-Marc Valin
71877da4eb Error handling 2011-03-14 06:45:17 -04:00
Jean-Marc Valin
a7d31b7b15 Code for handling multiple frames per packet
Barely tested
2011-03-13 21:29:36 -04:00
Jean-Marc Valin
0fe4078b30 Adding some packet parsing code 2011-03-13 12:41:08 -04:00
Jean-Marc Valin
8ea67049c2 Disable newly introduced CELT signalling 2011-03-11 17:49:10 -05:00
Jean-Marc Valin
edaf788084 Updating the build of the draft and adding fixed-point support 2011-03-09 11:42:15 -05:00
Jean-Marc Valin
955f94c21a Automatic bandwidth selection 2011-03-08 22:12:43 -05:00
Jean-Marc Valin
f9bc460e36 Simple mode selection logic 2011-03-08 14:57:46 -05:00
Jean-Marc Valin
1b16fec484 Fixes a few issues with PLC-based mode switching 2011-03-07 23:53:53 -05:00
Jean-Marc Valin
0c0c5f940a Support for glitchles mode switching
Uses a 5ms redundant CELT frame embedded into the SILK or hybrid
packet to handle the switching. It's still possible to use the
PLC-based method when no redundant packet is included.
2011-03-07 20:54:33 -05:00
Jean-Marc Valin
a93f501cfa Fix PLC-based mode transition code. 2011-03-03 15:50:08 -05:00
Jean-Marc Valin
e2a09db92b Implementing decoder-side support for redundant mode switching (bemasc's idea) 2011-03-02 17:54:43 -05:00
Jean-Marc Valin
d41c028d69 Revert de32a5bf61
Moves all the delay compensation back into the encoder only
2011-03-02 15:43:31 -05:00
Jean-Marc Valin
de32a5bf61 Splitting the resampler buffering between encode and decode 2011-02-21 14:05:10 -05:00
Jean-Marc Valin
ca869b2ee4 Makes sure there's a PLC-only region in the mode transition 2011-02-16 00:41:04 -05:00
Jean-Marc Valin
73870719a2 Fixes infinite loop for frame size <= 5 ms 2011-02-15 20:10:40 -05:00
Jean-Marc Valin
606250ab7f Improved transitions between the different modes
Uses the PLC to prevent glitches
2011-02-15 14:31:21 -05:00
Koen Vos
71e10e2ef9 CELT/Hybrid fix for in-band FEC. 2011-02-14 21:51:35 -05:00
Koen Vos
1e1562c121 Update for in-band FEC 2011-02-14 15:04:59 -05:00
Jean-Marc Valin
5d56fc78b0 Relicensing to simplified (2-clause) BSD license 2011-02-10 21:42:37 -05:00
Jean-Marc Valin
2c8b29806b Better handling of the bandwidth 2011-02-04 00:38:50 -05:00
Timothy B. Terriberry
a1dd0fcf93 Update Opus range coder due to CELT refactoring.
The byte buffer is now part of the range coder struct itself, and
 rangeenc.c and rangedec.c have gone away.
2011-02-03 22:32:27 -05:00
Koen Vos
8f67b20a8f Testing the range coder final state 2011-02-03 09:31:12 -05:00
Jean-Marc Valin
44cbe6ea0d PLC fix 2011-02-02 09:39:30 -05:00
Jean-Marc Valin
a70729c0b4 Koen's decoder updates 2011-01-31 18:25:47 -05:00
Jean-Marc Valin
53fb0f775e Handling auto-detecting of frame size in decoder 2011-01-31 15:56:38 -05:00