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