opus.git
7 years agoSome minor (non-bitstream-affecting) changes to help us have better test vectors
Jean-Marc Valin [Tue, 29 Nov 2011 03:48:01 +0000 (22:48 -0500)]
Some minor (non-bitstream-affecting) changes to help us have better test vectors

These fix corner cases discovered during the latest fuzzing tests.

7 years agoTesting tools improvements (no impact on draft)
Gregory Maxwell [Sat, 26 Nov 2011 04:53:15 +0000 (23:53 -0500)]
Testing tools improvements (no impact on draft)

7 years agoMisc documentation fixes (no code change)
Ralph Giles [Sat, 26 Nov 2011 04:25:38 +0000 (23:25 -0500)]
Misc documentation fixes (no code change)

We use macros to encapsulate the appropriate type and size
information for the different CTL requests, but the macros
still need to be used with the _ctl() function call and an
encoder or decoder instance structure. As such, just listing
the macro defines is confusing. Adding some examples outside
the OpusEncoder overview page should help with this.

Also document that OPUS_SET_APPLICATION can take
OPUS_APPLICATION_RESTRICTED_LOWDELAY.

7 years agoFix various typing and spelling errors in the draft.
Ralph Giles [Fri, 18 Nov 2011 21:48:01 +0000 (13:48 -0800)]
Fix various typing and spelling errors in the draft.

Also regularises some Canadian spelling to US like the rest of
the document.

7 years agoMinor anti-collapse state fix
Jean-Marc Valin [Mon, 7 Nov 2011 04:27:16 +0000 (23:27 -0500)]
Minor anti-collapse state fix

This fixes the tracking of the CELT anti-collapse energy. In some cases,
the energy for bands that weren't coded wasn't updated and could
come from old frames.

7 years agodraft version update draft-10 v0.9.8
Jean-Marc Valin [Mon, 31 Oct 2011 23:54:33 +0000 (19:54 -0400)]
draft version update

7 years agoversion bump
Jean-Marc Valin [Mon, 31 Oct 2011 23:53:06 +0000 (19:53 -0400)]
version bump

7 years agoFixes a minor issue on CELT->SILK switching
Jean-Marc Valin [Mon, 31 Oct 2011 23:51:47 +0000 (19:51 -0400)]
Fixes a minor issue on CELT->SILK switching

7 years agoversion number bump draft-09 v0.9.7
Jean-Marc Valin [Mon, 31 Oct 2011 21:21:55 +0000 (17:21 -0400)]
version number bump

7 years agoMore last-minute typos
Jean-Marc Valin [Mon, 31 Oct 2011 20:30:58 +0000 (16:30 -0400)]
More last-minute typos

7 years agoTypos
Jean-Marc Valin [Mon, 31 Oct 2011 20:26:30 +0000 (16:26 -0400)]
Typos

7 years agoFixes sha1 of test1_mono
Jean-Marc Valin [Mon, 31 Oct 2011 20:08:51 +0000 (16:08 -0400)]
Fixes sha1 of test1_mono

7 years agodraft version/date change
Jean-Marc Valin [Mon, 31 Oct 2011 20:02:12 +0000 (16:02 -0400)]
draft version/date change

7 years agoTest vectors update
Jean-Marc Valin [Mon, 31 Oct 2011 20:00:34 +0000 (16:00 -0400)]
Test vectors update

7 years agoAdds -random_fec option to randomly add FEC to some frames.
Jean-Marc Valin [Mon, 31 Oct 2011 18:35:44 +0000 (14:35 -0400)]
Adds -random_fec option to randomly add FEC to some frames.

Undocumented for now

7 years agoMinor draft edits.
Timothy B. Terriberry [Mon, 31 Oct 2011 18:09:34 +0000 (11:09 -0700)]
Minor draft edits.

7 years agoClean up whitespace in the draft makefile.
Ralph Giles [Mon, 31 Oct 2011 17:36:39 +0000 (10:36 -0700)]
Clean up whitespace in the draft makefile.

Remove a trailing tab, and unexpand some tabs in the
source listing.

7 years agoMulti-stream now checks that each stream at least contains a ToC.
Jean-Marc Valin [Mon, 31 Oct 2011 17:18:43 +0000 (13:18 -0400)]
Multi-stream now checks that each stream at least contains a ToC.

7 years agoTest vector warning
Jean-Marc Valin [Mon, 31 Oct 2011 17:09:51 +0000 (13:09 -0400)]
Test vector warning

7 years agoAdds -random_framesize and -sweep_max options to opus_demo
Jean-Marc Valin [Mon, 31 Oct 2011 02:49:35 +0000 (22:49 -0400)]
Adds -random_framesize and -sweep_max options to opus_demo

Undocumented for now.

7 years agoFixes a redundancy bug in glitchless SILK-SILK switching
Jean-Marc Valin [Mon, 31 Oct 2011 02:41:32 +0000 (22:41 -0400)]
Fixes a redundancy bug in glitchless SILK-SILK  switching

The CELT encoder could end up using a non-max bit-rate and not use
all the bytes it's supposed to use.

7 years agoFix multistream packet corruption, implement GET_FINAL_RANGE for multistream, and...
Gregory Maxwell [Sun, 30 Oct 2011 23:57:22 +0000 (19:57 -0400)]
Fix multistream packet corruption, implement GET_FINAL_RANGE for multistream, and add many tests.

Multistream encode was failing to add the length of the extra length for
self-delimited packets causing corrupted output. Multistream decode was
not properly handling lost frames (and potentially reading out of bounds
as a result).

GET_FINAL_RANGE has been implemented as the xor of the final range of all
the streams in the packet.

test_opus_encode now does the mono narrowband tests using dual-mono
multistream.

7 years agodraft: s/LSb/LSB/
Jean-Marc Valin [Sun, 30 Oct 2011 20:58:56 +0000 (16:58 -0400)]
draft: s/LSb/LSB/

7 years agoFix a number of multistream decoder bugs; add some very basic multistream decoder...
Gregory Maxwell [Sun, 30 Oct 2011 06:16:25 +0000 (02:16 -0400)]
Fix a number of multistream decoder bugs; add some very basic multistream decoder tests.

7 years agodraft: Better description of the CELT allocation and stereo decisions
Jean-Marc Valin [Sun, 30 Oct 2011 05:40:55 +0000 (01:40 -0400)]
draft: Better description of the CELT allocation and stereo decisions

7 years agoFix some inconsequential file descriptor leaks in the demo tools to silence cppcheck...
Gregory Maxwell [Sun, 30 Oct 2011 03:54:45 +0000 (23:54 -0400)]
Fix some inconsequential file descriptor leaks in the demo tools to silence cppcheck warnings.

7 years agoSILK encoder description
Koen Vos [Sun, 30 Oct 2011 01:50:17 +0000 (21:50 -0400)]
SILK encoder description

7 years agoMinor changes to test_opus_encode to improve coverage a little bit.
Gregory Maxwell [Sat, 29 Oct 2011 22:19:23 +0000 (18:19 -0400)]
Minor changes to test_opus_encode to improve coverage a little bit.

7 years agoRemoves "set but never used" variables
Jean-Marc Valin [Sat, 29 Oct 2011 21:46:18 +0000 (17:46 -0400)]
Removes "set but never used" variables

7 years agoSilences a gcc warning
Jean-Marc Valin [Sat, 29 Oct 2011 21:28:51 +0000 (17:28 -0400)]
Silences a gcc warning

7 years agoNewly introduced check_encoder_option failed unconditionally instead of only when...
Gregory Maxwell [Sat, 29 Oct 2011 07:45:13 +0000 (03:45 -0400)]
Newly introduced check_encoder_option failed unconditionally instead of only when you used the wrong options.

7 years agoRemoves unused order 14 in silk_LPC_analysis_filter_FLP()
Jean-Marc Valin [Sat, 29 Oct 2011 06:15:38 +0000 (02:15 -0400)]
Removes unused order 14 in silk_LPC_analysis_filter_FLP()

7 years agoConsiders the case where SILK busts its budget in hybrid mode
Jean-Marc Valin [Sat, 29 Oct 2011 06:12:26 +0000 (02:12 -0400)]
Considers the case where SILK busts its budget in hybrid mode

7 years agofixes a mixup between decoder and PLC states
Koen Vos [Sat, 29 Oct 2011 04:24:46 +0000 (00:24 -0400)]
fixes a mixup between decoder and PLC states

7 years agoFixes PLC initialization bug
Koen Vos [Sat, 29 Oct 2011 04:03:29 +0000 (00:03 -0400)]
Fixes PLC initialization bug

7 years agooops, bad copy-paste
Jean-Marc Valin [Sat, 29 Oct 2011 03:52:21 +0000 (23:52 -0400)]
oops, bad copy-paste

7 years agoDisabling some unused SILK functions from the float build
Jean-Marc Valin [Sat, 29 Oct 2011 03:20:55 +0000 (23:20 -0400)]
Disabling some unused SILK functions from the float build

7 years agoUpdate test_opus_encode / test_opus_decode for better LBRR/PLC testing and to reduce...
Gregory Maxwell [Sat, 29 Oct 2011 02:47:20 +0000 (22:47 -0400)]
Update test_opus_encode / test_opus_decode for better LBRR/PLC testing and to reduce stack usage.

7 years agodraft wip
Jean-Marc Valin [Sat, 29 Oct 2011 03:13:28 +0000 (23:13 -0400)]
draft wip

7 years agoChecking that encoder options aren't used for decoding in opus_demo
Jean-Marc Valin [Sat, 29 Oct 2011 02:41:55 +0000 (22:41 -0400)]
Checking that encoder options aren't used for decoding in opus_demo

And vice versa

7 years agooops, forgot to update the source list
Jean-Marc Valin [Sat, 29 Oct 2011 01:20:13 +0000 (21:20 -0400)]
oops, forgot to update the source list

7 years agocomment
Koen Vos [Sat, 29 Oct 2011 01:07:17 +0000 (21:07 -0400)]
comment

7 years agoFixes two SILK PLC issues
Koen Vos [Sat, 29 Oct 2011 01:05:22 +0000 (21:05 -0400)]
Fixes two SILK PLC issues

- Calling the decoder for FEC when there's no LBRR should no longer crash
- There should no longer be an issue with the PLC on frame size switching

7 years agoReformatting changes with an update to the MSVC project files
Koen Vos [Fri, 28 Oct 2011 23:44:26 +0000 (19:44 -0400)]
Reformatting changes with an update to the MSVC project files

7 years agotest vector wip, nothing to see here
Jean-Marc Valin [Fri, 28 Oct 2011 20:16:35 +0000 (16:16 -0400)]
test vector wip, nothing to see here

7 years agoUse the fallback __GNUC_PREREQ from arch.h in ecintrin.h.
Ralph Giles [Fri, 28 Oct 2011 18:32:44 +0000 (11:32 -0700)]
Use the fallback __GNUC_PREREQ from arch.h in ecintrin.h.

__GNUC_PREREQ is generally defined by glibc; ecintrin.h
was checking to see if it was defined before use for
portability to non-glibc systems. However, we now have
a fallback definition in arch.h.

7 years agoRemove relative paths to opus.h.
Ralph Giles [Fri, 28 Oct 2011 18:29:41 +0000 (11:29 -0700)]
Remove relative paths to opus.h.

Files are already compiled with -I./include, the relative
path in the #include line isn't necessary.

7 years agoRemove the define check for __GNUC_PREREQ.
Ralph Giles [Fri, 28 Oct 2011 18:03:29 +0000 (11:03 -0700)]
Remove the define check for __GNUC_PREREQ.

Our arch.h makes sure it's always defined. Thanks to derf
for the suggestion.

7 years agoFix the test for gcc version >= 4.6 to work for gcc 5 and up.
Ralph Giles [Fri, 28 Oct 2011 17:51:17 +0000 (10:51 -0700)]
Fix the test for gcc version >= 4.6 to work for gcc 5 and up.

We use the __GNUC_PREREQ macro from celt/arch.h to check
the required minimum gcc version. The previous check would
have failed for gcc 5.n with n from 0 to 5.

Thanks to pcgod for pointing out the problem and derf for
pointing out we had a macro for this.

7 years agoMove opus_apps inside the MALLOC_FAIL block.
Ralph Giles [Fri, 28 Oct 2011 16:27:25 +0000 (09:27 -0700)]
Move opus_apps inside the MALLOC_FAIL block.

This array is only used by the malloc failure test, and
defining it unconditionally creates an unused variable
warning on platforms where MALLOC_FAIL isn't set.

7 years agoMake the MALLOC_FAIL test solely dependent on HAVE___MALLOC_HOOK.
Ralph Giles [Fri, 28 Oct 2011 16:23:20 +0000 (09:23 -0700)]
Make the MALLOC_FAIL test solely dependent on HAVE___MALLOC_HOOK.

This test only works on glibc, but the important thing is support
for the __malloc_hook api, so that's what we should depend on,
especially since not all glibc versions have it.

7 years agoUse #pragma GCC diagnostic push/pop only on gcc 4.6 and later.
Ralph Giles [Fri, 28 Oct 2011 16:21:08 +0000 (09:21 -0700)]
Use #pragma GCC diagnostic push/pop only on gcc 4.6 and later.

These pragmas were adding in 4.6, and earlier versions warn
about them being undefined.

7 years agoCheck for __malloc_hook and define MALLOC_FAIL appropriately.
Ralph Giles [Fri, 28 Oct 2011 14:14:58 +0000 (07:14 -0700)]
Check for __malloc_hook and define MALLOC_FAIL appropriately.

The glibc 2.14 NEWS file says __malloc_hook will be removed
in the next release, so future-proof our use by checking
for this symbol at configure time and only compiling the
malloc failure tests if it is present.

7 years agoDisable the deprecated function warning on __malloc_hook.
Ralph Giles [Fri, 28 Oct 2011 13:55:30 +0000 (06:55 -0700)]
Disable the deprecated function warning on __malloc_hook.

This just works around the deprecation in glibc 2.14. I
do worry what will happen if they follow through and
remove it in 2.15.

7 years agoMoving the dash header inline to appease the apple gcc.
Gregory Maxwell [Fri, 28 Oct 2011 16:10:14 +0000 (12:10 -0400)]
Moving the dash header inline to appease the apple gcc.

7 years agoPreparing for test vectors
Jean-Marc Valin [Fri, 28 Oct 2011 16:09:00 +0000 (12:09 -0400)]
Preparing for test vectors

7 years agoFixes a bug in ec_enc_done when no range coded data was coded and adds test cases...
Gregory Maxwell [Fri, 28 Oct 2011 15:06:37 +0000 (11:06 -0400)]
Fixes a bug in ec_enc_done when no range coded data was coded and adds test cases to test_unit_entropy.

7 years agoopus_demo now returns 1 on mismatch
Jean-Marc Valin [Fri, 28 Oct 2011 15:02:40 +0000 (11:02 -0400)]
opus_demo now returns 1 on mismatch

7 years agoExtend test_unit_entropy to test some patch_initial_bits corner cases.
Gregory Maxwell [Fri, 28 Oct 2011 13:59:43 +0000 (09:59 -0400)]
Extend test_unit_entropy to test some patch_initial_bits corner cases.

7 years agoFix for ec_enc_patch_initial_bits().
Timothy B. Terriberry [Fri, 28 Oct 2011 13:25:38 +0000 (06:25 -0700)]
Fix for ec_enc_patch_initial_bits().

The test to make sure that _nbits had been encoded was checking for
 8-_nbits instead of _nbits.
This only affected cases when less than 8 bits had ever been
 encoded by the time the initial bits were patched.

7 years agoGives the Opus code direct access to (non-opaque) OpusRepacketizer
Jean-Marc Valin [Fri, 28 Oct 2011 02:25:33 +0000 (22:25 -0400)]
Gives the Opus code direct access to (non-opaque) OpusRepacketizer

This avoids potential alignment issues with allocating a char
array on the stack.

7 years agoChecking error codes internally and return OPUS_INTERNAL_ERROR on failure
Jean-Marc Valin [Fri, 28 Oct 2011 00:33:48 +0000 (20:33 -0400)]
Checking error codes internally and return OPUS_INTERNAL_ERROR on failure

7 years agoImprove test_opus_encode's coverage of some high rate cases.
Gregory Maxwell [Thu, 27 Oct 2011 22:07:40 +0000 (18:07 -0400)]
Improve test_opus_encode's coverage of some high rate cases.

7 years agoMake CBR code a bit less aggressive about low rate
Jean-Marc Valin [Thu, 27 Oct 2011 20:46:34 +0000 (16:46 -0400)]
Make CBR code a bit less aggressive about low rate

7 years agoFixes a hybrid bug when operating with a max bit-rate
Jean-Marc Valin [Thu, 27 Oct 2011 20:45:45 +0000 (16:45 -0400)]
Fixes a hybrid bug when operating with a max bit-rate

7 years agodraft: CELT encoder description for tf_analysis() and spreading_decision()
Jean-Marc Valin [Thu, 27 Oct 2011 19:34:21 +0000 (15:34 -0400)]
draft: CELT encoder description for tf_analysis() and spreading_decision()

7 years agoAllow wrap-around in silk_LPC_analysis_filter()
Jean-Marc Valin [Thu, 27 Oct 2011 17:51:21 +0000 (13:51 -0400)]
Allow wrap-around in silk_LPC_analysis_filter()

7 years agoMakes OPUS_SET_VOICE_RATIO private
Jean-Marc Valin [Thu, 27 Oct 2011 17:43:43 +0000 (13:43 -0400)]
Makes OPUS_SET_VOICE_RATIO private

Let's put it back in if/when we have a clearer view of voice/music detection

7 years agoMaking sure DTX for voice still works at high bit-rate
Jean-Marc Valin [Thu, 27 Oct 2011 17:39:12 +0000 (13:39 -0400)]
Making sure DTX for voice still works at high bit-rate

7 years agoAdd a test for MAX_BANDWIDTH to test_opus_api.
Gregory Maxwell [Thu, 27 Oct 2011 12:24:52 +0000 (08:24 -0400)]
Add a test for MAX_BANDWIDTH to test_opus_api.

7 years agoTest cleanups and renaming.
Gregory Maxwell [Thu, 27 Oct 2011 03:55:33 +0000 (23:55 -0400)]
Test cleanups and renaming.

Build tests in the tests/ directory instead of top, cleanup, rename,
and eliminate recursive make for the celt/ unit tests.

7 years agoConvert tabs to spaces in the opus and celt code.
Ralph Giles [Thu, 27 Oct 2011 03:24:49 +0000 (20:24 -0700)]
Convert tabs to spaces in the opus and celt code.

Also reformat some, but by no means all, of the opus
code for line length and three-character indents.

7 years agoMoves the main headers from src/ to include/
Jean-Marc Valin [Thu, 27 Oct 2011 01:36:57 +0000 (21:36 -0400)]
Moves the main headers from src/ to include/

7 years agoRemoves tests/.dirstamp
Jean-Marc Valin [Thu, 27 Oct 2011 01:01:54 +0000 (21:01 -0400)]
Removes tests/.dirstamp

7 years agoRename test_repacketizer to repacketizer_demo.
Gregory Maxwell [Thu, 27 Oct 2011 00:05:56 +0000 (20:05 -0400)]
Rename test_repacketizer to repacketizer_demo.

7 years agoRenames test_opus to opus_demo and adds the test_opus_api, test_opus_encode, test_opu...
Gregory Maxwell [Wed, 26 Oct 2011 23:56:00 +0000 (19:56 -0400)]
Renames test_opus to opus_demo and adds the test_opus_api, test_opus_encode, test_opus_decode test programs.

7 years agodraft: Update to normative/non-normative switching
Jean-Marc Valin [Wed, 26 Oct 2011 19:47:53 +0000 (15:47 -0400)]
draft: Update to normative/non-normative switching

Making SILK bandwidth changes non-normative when there's no redundancy

7 years agodraft: Moves the high-pass to the Opus encoder to reflect the source code
Jean-Marc Valin [Wed, 26 Oct 2011 15:55:07 +0000 (11:55 -0400)]
draft: Moves the high-pass to the Opus encoder to reflect the source code

7 years agoFixes another minor bug introduced in 43a0de4af15
Koen Vos [Wed, 26 Oct 2011 12:03:31 +0000 (08:03 -0400)]
Fixes another minor bug introduced in 43a0de4af15

7 years agoAdds draft section on "Control Parameters"
Jean-Marc Valin [Wed, 26 Oct 2011 05:23:36 +0000 (01:23 -0400)]
Adds draft section on "Control Parameters"

7 years agoAdjusts the bandwidth thresholds depending on complexity and CBR
Jean-Marc Valin [Tue, 25 Oct 2011 17:46:35 +0000 (13:46 -0400)]
Adjusts the bandwidth thresholds depending on complexity and CBR

7 years agoOops, forgot the #defines for OPUS_{SET|GET}_MAX_BANDWIDTH()
Jean-Marc Valin [Tue, 25 Oct 2011 16:10:45 +0000 (12:10 -0400)]
Oops, forgot the #defines for OPUS_{SET|GET}_MAX_BANDWIDTH()

7 years agoFixes a minor bug introduced in 43a0de4af15
Koen Vos [Tue, 25 Oct 2011 05:19:29 +0000 (01:19 -0400)]
Fixes a minor bug introduced in 43a0de4af15

7 years agoImplements OPUS_SET_MAX_BANDWIDTH()
Jean-Marc Valin [Tue, 25 Oct 2011 02:41:18 +0000 (22:41 -0400)]
Implements OPUS_SET_MAX_BANDWIDTH()

7 years agoDisable CELT when FEC is on and we're losing too many packets
Jean-Marc Valin [Tue, 25 Oct 2011 00:26:29 +0000 (20:26 -0400)]
Disable CELT when FEC is on and we're losing too many packets

7 years agoFixes a bug on FEC+stereo
Jean-Marc Valin [Tue, 25 Oct 2011 00:07:00 +0000 (20:07 -0400)]
Fixes a bug on FEC+stereo

When FEC is enabled in the decoder but not included in the bit-stream
we could end up applying the PLC on a non-existant side.

7 years agoMore draft edits and additions.
Timothy B. Terriberry [Mon, 24 Oct 2011 19:24:30 +0000 (12:24 -0700)]
More draft edits and additions.

Some clean-up from JM's prior edits, as well as
* Additional clarificatino of TOC sequence restrictions (e.g., if
   you need to decode a length, there must be enough bytes in the
   packet for it, etc.).
* Added a summary of TOC sequence restrictions.
* Added a stereo unmixing section.
* Reworked Delay Compensation section into a general Resampling
   section.
* Further cleanups of switching/transitions, including new diagrams
   for all of the normative and recommended non-normative
   transitions.

7 years agoSome SILK CBR tuning
Jean-Marc Valin [Mon, 24 Oct 2011 15:53:01 +0000 (11:53 -0400)]
Some SILK CBR tuning

7 years agoOptimization of the CBR loop
Koen Vos [Mon, 24 Oct 2011 13:10:58 +0000 (09:10 -0400)]
Optimization of the CBR loop

Also some comment/warning fixes

8 years agoImplements glitchless switching between SILK bandwidths
Jean-Marc Valin [Sat, 22 Oct 2011 03:21:34 +0000 (23:21 -0400)]
Implements glitchless switching between SILK bandwidths

Only encoder changes were necessary because this uses the same
"redundant frames" mechanism as SILK<->CELT switching.
This also fixes a regression introduced in 78291b27 that was
causing the encoder to go back and forth between bandwidths when
SILK wasn't ready to change.

8 years agoDon't use -fstack-protector-all when its not supported, add an autoconf test.
Gregory Maxwell [Fri, 21 Oct 2011 18:21:53 +0000 (14:21 -0400)]
Don't use -fstack-protector-all when its not supported, add an autoconf test.

8 years agoFix stack corruption with high rate SILK encoding added by the recent CBR changes...
Gregory Maxwell [Fri, 21 Oct 2011 17:00:21 +0000 (13:00 -0400)]
Fix stack corruption with high rate SILK encoding added by the recent CBR changes and enable -fstack-protector-all on gcc autotools builds.

8 years agoSilences some warnings in fixed-point
Jean-Marc Valin [Fri, 21 Oct 2011 15:17:18 +0000 (11:17 -0400)]
Silences some warnings in fixed-point

8 years agoSame as 44a030deedf11 but for fixed-point
Jean-Marc Valin [Fri, 21 Oct 2011 15:10:43 +0000 (11:10 -0400)]
Same as 44a030deedf11 but for fixed-point

8 years agoLimits how fast the CBR gain multiplier can increase
Jean-Marc Valin [Fri, 21 Oct 2011 15:05:50 +0000 (11:05 -0400)]
Limits how fast the CBR gain multiplier can increase

This fixes an overflow that was caused by having a huge gain

8 years agoMake the encoder output a "PLC packet" when SILK can't reach the target
Jean-Marc Valin [Fri, 21 Oct 2011 01:10:25 +0000 (21:10 -0400)]
Make the encoder output a "PLC packet" when SILK can't reach the target

8 years agoOverrides the SILK delayed bandwidth changes when CBR might bust
Jean-Marc Valin [Thu, 20 Oct 2011 18:30:30 +0000 (14:30 -0400)]
Overrides the SILK delayed bandwidth changes when CBR might bust

8 years agoImplements hard CBR for SILK
Jean-Marc Valin [Thu, 20 Oct 2011 04:39:41 +0000 (00:39 -0400)]
Implements hard CBR for SILK

This is achieved by running the encoding process in a loop and
padding when we don't reach the exact rate. It also implements
VBR-with-cap, which means we no longer need to artificially decrease
the SILK bandwidth when it's close to the cap.

8 years agodraft: Describing SILK delay compensation
Jean-Marc Valin [Wed, 19 Oct 2011 17:56:34 +0000 (13:56 -0400)]
draft: Describing SILK delay compensation

8 years agodraft: mode switching details (reset and redundancy cross-fade)
Jean-Marc Valin [Wed, 19 Oct 2011 16:38:53 +0000 (12:38 -0400)]
draft: mode switching details (reset and redundancy cross-fade)