Commit graph

579 commits

Author SHA1 Message Date
Jean-Marc Valin
331e9fe0fd s/OPUS_CORRUPTED_DATA/OPUS_INVALID_PACKET/ 2011-09-06 14:30:19 -04:00
Jean-Marc Valin
663a7fe938 Defining OPUS_BITRATE_MAX and moving some defines to opus_defines.h 2011-09-06 14:05:19 -04:00
Jean-Marc Valin
fbbd9bf608 Renumbering the ctl() calls to make programming errors more obvious 2011-09-05 21:16:33 -04:00
Jean-Marc Valin
242da53aa0 Completing the OpusCustom rename 2011-09-05 20:53:33 -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
f9265ddf25 opus_strerror() and opus_get_version_string() moved to libcelt 2011-09-01 13:46:18 -04:00
Jean-Marc Valin
7fc2fbdb14 Renamed some funciton that were likely to clash with other (non-Opus) code 2011-09-01 13:40:39 -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
Gregory Maxwell
ec8008b086 Adds many syntactically unnecessary casts to silence MSVC C4244; fix an MDCT encoder reset bug.
st->tonal_average was being set to 1 instead of 256 on reset in floating point builds, otherwise the object code is unchanged.
2011-08-30 17:08:49 -04:00
Gregory Maxwell
75d27803d5 Adds many syntactically unnecessary parentheses to silence MSVC C4554.
The object code is unchanged.
2011-08-30 14:08:25 -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
07f884042e Wrapping all allocation within opus_alloc() and opus_free() 2011-08-29 15:08:51 -04:00
Gregory Maxwell
de0b977547 In VBR the MDCT modes rate control could dramatically over/undershoot after a frame size change
because the adaptive rate control offset was not being scaled.
2011-08-23 10:25:45 -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
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
5e36e19a15 Making the CELT bitrate default to "unlimited" 2011-08-16 09:12:14 -04:00
Jean-Marc Valin
66ff26f356 Define CELT bitrate=-1 as "unlimited" (i.e. all bytes given) 2011-08-15 22:37:11 -04:00
Gregory Maxwell
d830d08923 Avoid passing 'resynth' argument since resynth is either !encode
or it's always 1 if -DRESYNTH.
2011-08-15 16:05:40 -04:00
Jean-Marc Valin
a6b4e25628 Making the MDCT produce interleaved data 2011-08-15 10:20:06 -04:00
Jean-Marc Valin
dbeb86fd05 Making the IMDCT work on interleaved data
Saves a copy in the decoder
2011-08-15 10:01:00 -04:00
Gregory Maxwell
86dd98409f Rearrange mode structure to avoid wasting memory from padding. 2011-08-12 19:06:25 -04:00
Gregory Maxwell
b288c5078a Correct anti_collapse in the decoder to handle the stereo
to mono state transition in the same manner as the encoder.
2011-08-12 14:22:16 -04:00
Jean-Marc Valin
f334c82ec3 Adds a fuzzing mode that causes the encoder to make random decisions 2011-08-11 16:48:05 -04:00
Jean-Marc Valin
817220e91d Using a more conservative trim (just in case) following Greg's last patch 2011-08-08 11:33:17 -04:00
Gregory Maxwell
f93d81b15e Correct allocation tilt estimation in the CELT encoder for stereo.
Remove a redundant negative length check in celt_decode.
2011-08-07 15:56:59 -04:00
Gregory Maxwell
06d57b2165 Fix varrious splint warnings, C89 compatibility, and compilation with the
draft makefile. Increase precision of the static modes table.
2011-08-01 23:07:13 -04:00
Gregory Maxwell
662587d9c5 Remove many unused defines and convert some double constants to float. 2011-08-01 20:41:54 -04:00
Gregory Maxwell
71d39ad841 Correct many whitespace errors under libcelt/ and remove
non-ascii characters from the source.
2011-07-30 21:54:59 -04:00
Jean-Marc Valin
ff5f7228fd Renamed celt_word* to opus_val* 2011-07-29 18:59:12 -04:00
Jean-Marc Valin
d77d6a58fc Renamed celt_[u]int* to opus_[u]int* 2011-07-29 17:33:06 -04:00
Gregory Maxwell
fce4323e15 Remove the configurability of the post-filter. It is always enabled in Opus. 2011-07-29 16:19:29 -04:00
Gregory Maxwell
a45724ef7f Remove a _overlap_mem only used for -DRESYNTH builds in celt.c. 2011-07-29 13:13:51 -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
27169ca9d0 Addressing all the FIXMEs in the code
Includes better error handling in fft/mdct init
2011-05-16 14:10:04 -04:00
Jean-Marc Valin
f54a0a39e5 Reduces the PLC array sizes to what's necessary 2011-05-13 17:36:31 -04:00
Jean-Marc Valin
5f3d1afc05 PLC cleanup
Pitch search can now go up to 720 samples
2011-05-13 17:24:25 -04:00
Gregory Maxwell
58ecb1ac15 The encoder would crash in the PVQ search if fed NaNs via the float interface. This patch protects against it in two sufficient ways: Making the PVQ search robust against NaNs and by squashing NaNs to zero on input.
Thanks to David Richards for reporting this failure mode.
2011-05-09 15:54:08 -04:00
Jean-Marc Valin
eda2dee88d Taking into account the percentage of packet loss for intra decision 2011-04-21 16:04:27 -04:00
Jean-Marc Valin
6965388866 Implements CELT_SET_LOSS_PERC 2011-04-21 10:41:13 -04:00
Gregory Maxwell
fdd867534a Stop adjusting the VBR drift during silent frames, this prevents overshoot after silent spans. This also results in undershoot on files with lots of silence, but this is desirable in terms of increasing quality consistency. It will be even better if we later include some open-loop correction of the targets. 2011-04-13 17:15:55 -04:00
Jean-Marc Valin
d25dd2bff9 Fixes a declaration-after-statement error when using ALLOC_STACK 2011-03-29 07:54:27 +02:00
Jean-Marc Valin
9dec74d98d Adds support for decoding stereo streams with a mono decoder
We don't allow *encoding* a stereo stream with a mono encoder
because that's just silly.
2011-03-28 01:39:41 -04:00
Jean-Marc Valin
c3086a98f4 Making CELT_GET_MODE "private" 2011-03-21 13:26:03 -04:00
Jean-Marc Valin
ff96b165fe Removes the celt_mode_info() call.
Adds a CELT_GET_LOOKAHEAD() ctl() call instead. Other uses of
celt_mode_info() should not be needed anymore.
2011-03-21 11:32:50 -04:00
Jean-Marc Valin
d6bf19d22d Using the Opus header in 48k/2.5-20 ms modes 2011-03-21 07:06:09 -04:00
Jean-Marc Valin
c5f999097f Fixes tandem-test.c 2011-03-18 15:47:53 -04:00
Jean-Marc Valin
ef20e39374 Non-fatal bit-stream errors are now reported through ctl() 2011-03-18 15:34:11 -04:00
Jean-Marc Valin
1a8bf37dba Taking into account the start and end bands in CNG 2011-03-16 22:03:15 -04:00