Ralph Giles
b88a7baf34
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.
2011-10-28 10:20:16 -07:00
Ralph Giles
c19bc34638
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.
2011-10-28 10:20:16 -07:00
Ralph Giles
ed90cdc369
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.
2011-10-28 10:20:16 -07:00
Gregory Maxwell
657dea717e
Moving the dash header inline to appease the apple gcc.
2011-10-28 12:10:14 -04:00
Jean-Marc Valin
ad20dd2f43
Preparing for test vectors
2011-10-28 12:09:00 -04:00
Gregory Maxwell
d84fa9fd6e
Fixes a bug in ec_enc_done when no range coded data was coded and adds test cases to test_unit_entropy.
2011-10-28 11:08:52 -04:00
Jean-Marc Valin
aecf2d3eff
opus_demo now returns 1 on mismatch
2011-10-28 11:02:40 -04:00
Gregory Maxwell
6f1ece5798
Extend test_unit_entropy to test some patch_initial_bits corner cases.
2011-10-28 10:12:39 -04:00
Timothy B. Terriberry
16abc6fe6e
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.
2011-10-28 09:51:38 -04:00
Jean-Marc Valin
c8649d0e0b
Gives the Opus code direct access to (non-opaque) OpusRepacketizer
...
This avoids potential alignment issues with allocating a char
array on the stack.
2011-10-27 22:25:33 -04:00
Jean-Marc Valin
f340bba0f2
Checking error codes internally and return OPUS_INTERNAL_ERROR on failure
2011-10-27 20:33:48 -04:00
Gregory Maxwell
71c04dc00c
Improve test_opus_encode's coverage of some high rate cases.
2011-10-27 18:07:40 -04:00
Jean-Marc Valin
d17bc2e8cb
Make CBR code a bit less aggressive about low rate
2011-10-27 17:56:36 -04:00
Jean-Marc Valin
cb9471c07c
Fixes a hybrid bug when operating with a max bit-rate
2011-10-27 17:56:14 -04:00
Jean-Marc Valin
84846910c5
draft: CELT encoder description for tf_analysis() and spreading_decision()
2011-10-27 15:34:21 -04:00
Jean-Marc Valin
4a7027b27e
Allow wrap-around in silk_LPC_analysis_filter()
2011-10-27 13:51:21 -04:00
Jean-Marc Valin
e6a0be8ee6
Makes OPUS_SET_VOICE_RATIO private
...
Let's put it back in if/when we have a clearer view of voice/music detection
2011-10-27 13:43:43 -04:00
Jean-Marc Valin
6ef378725f
Making sure DTX for voice still works at high bit-rate
2011-10-27 13:39:12 -04:00
Gregory Maxwell
6b9c29aee4
Add a test for MAX_BANDWIDTH to test_opus_api.
2011-10-27 09:36:50 -04:00
Gregory Maxwell
9652f81eb9
Test cleanups and renaming.
...
Build tests in the tests/ directory instead of top, cleanup, rename,
and eliminate recursive make for the celt/ unit tests.
2011-10-27 06:27:13 -04:00
Ralph Giles
da025d5632
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.
2011-10-26 20:24:49 -07:00
Jean-Marc Valin
4923f3f80e
Moves the main headers from src/ to include/
2011-10-26 21:36:57 -04:00
Jean-Marc Valin
82c985932f
Removes tests/.dirstamp
2011-10-26 21:01:54 -04:00
Gregory Maxwell
38805f35d5
Rename test_repacketizer to repacketizer_demo.
2011-10-26 20:05:56 -04:00
Gregory Maxwell
a5ff49ecdc
Renames test_opus to opus_demo and adds the test_opus_api, test_opus_encode, test_opus_decode test programs.
2011-10-26 19:59:49 -04:00
Jean-Marc Valin
d481798ad1
draft: Update to normative/non-normative switching
...
Making SILK bandwidth changes non-normative when there's no redundancy
2011-10-26 15:47:53 -04:00
Jean-Marc Valin
602fd8a6f8
draft: Moves the high-pass to the Opus encoder to reflect the source code
2011-10-26 11:55:07 -04:00
Koen Vos
7f3caf941e
Fixes another minor bug introduced in 43a0de4af1
2011-10-26 08:03:31 -04:00
Jean-Marc Valin
56a3b95343
Adds draft section on "Control Parameters"
2011-10-26 01:23:36 -04:00
Jean-Marc Valin
bfad28185c
Adjusts the bandwidth thresholds depending on complexity and CBR
2011-10-25 13:46:35 -04:00
Jean-Marc Valin
97cefddc27
Oops, forgot the #defines for OPUS_{SET|GET}_MAX_BANDWIDTH()
2011-10-25 12:10:45 -04:00
Koen Vos
d39bccb0e1
Fixes a minor bug introduced in 43a0de4af1
2011-10-25 01:19:29 -04:00
Jean-Marc Valin
9ba1743594
Implements OPUS_SET_MAX_BANDWIDTH()
2011-10-24 22:41:18 -04:00
Jean-Marc Valin
9dc0e40475
Disable CELT when FEC is on and we're losing too many packets
2011-10-24 20:26:29 -04:00
Jean-Marc Valin
ec1ebf8ad7
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.
2011-10-24 20:07:00 -04:00
Timothy B. Terriberry
a7585a0dd1
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.
2011-10-24 18:38:34 -04:00
Jean-Marc Valin
33bd6aa313
Some SILK CBR tuning
2011-10-24 11:53:01 -04:00
Koen Vos
43a0de4af1
Optimization of the CBR loop
...
Also some comment/warning fixes
2011-10-24 09:10:58 -04:00
Jean-Marc Valin
3b2aee062d
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.
2011-10-21 23:21:34 -04:00
Gregory Maxwell
e53ebd696a
Don't use -fstack-protector-all when its not supported, add an autoconf test.
2011-10-21 14:21:53 -04:00
Gregory Maxwell
3d28ee8020
Fix stack corruption with high rate SILK encoding added by the recent CBR changes and enable -fstack-protector-all on gcc autotools builds.
2011-10-21 13:00:21 -04:00
Jean-Marc Valin
4871fb9281
Silences some warnings in fixed-point
2011-10-21 11:17:18 -04:00
Jean-Marc Valin
bfc67b95e2
Same as 44a030deed
but for fixed-point
2011-10-21 11:10:43 -04:00
Jean-Marc Valin
44a030deed
Limits how fast the CBR gain multiplier can increase
...
This fixes an overflow that was caused by having a huge gain
2011-10-21 11:05:50 -04:00
Jean-Marc Valin
1fad3048af
Make the encoder output a "PLC packet" when SILK can't reach the target
2011-10-20 21:10:25 -04:00
Jean-Marc Valin
99ca4b3cff
Overrides the SILK delayed bandwidth changes when CBR might bust
2011-10-20 14:30:30 -04:00
Jean-Marc Valin
294bfec27b
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.
2011-10-20 00:39:41 -04:00
Jean-Marc Valin
dbf2ea841e
draft: Describing SILK delay compensation
2011-10-19 13:56:34 -04:00
Jean-Marc Valin
cb897c56f2
draft: mode switching details (reset and redundancy cross-fade)
2011-10-19 12:38:53 -04:00
Jean-Marc Valin
d062c4a50e
Only free state once in kiss-fft failed init path
2011-10-19 07:41:27 -04:00