Gregory Maxwell [Fri, 2 Sep 2011 14:31:17 +0000 (10:31 -0400)]
Corrects many places where int was used where opus_int32 was needed.
Jean-Marc Valin [Fri, 2 Sep 2011 01:59:50 +0000 (21:59 -0400)]
Merge branch 'exp-highpass'
Jean-Marc Valin [Fri, 2 Sep 2011 01:47:38 +0000 (21:47 -0400)]
Removes code that became useless with the Opus-level highpass
Jean-Marc Valin [Fri, 2 Sep 2011 00:55:07 +0000 (20:55 -0400)]
passing self_delimited flag to opus_packet_parse_impl() in decoder
Jean-Marc Valin [Thu, 1 Sep 2011 22:02:43 +0000 (18:02 -0400)]
First attempt at global high-pass filter
Doesn't work for fixed-point for some unknown reason
Gregory Maxwell [Thu, 1 Sep 2011 23:42:37 +0000 (19:42 -0400)]
Various minor cleanups (removing dead arguments, macros) to libcelt/. Reinstate -Wunused-parameter.
Jean-Marc Valin [Thu, 1 Sep 2011 20:56:40 +0000 (16:56 -0400)]
Simplifying buffering to make an Opus-level highpass possible
Benjamin Jemlich [Wed, 24 Aug 2011 14:13:57 +0000 (16:13 +0200)]
Fix compile errors with g++
Jean-Marc Valin [Thu, 1 Sep 2011 19:22:37 +0000 (15:22 -0400)]
Only export the CELT calls when CUSTOM_MODES is defined
Gregory Maxwell [Thu, 1 Sep 2011 18:17:26 +0000 (14:17 -0400)]
Fix dump_modes for the api change and move it into a subdirectory
with a trivial makefile.
Jean-Marc Valin [Thu, 1 Sep 2011 17:52:17 +0000 (13:52 -0400)]
Removes c64_fft.[ch] -- hadn't been updated for ages
Jean-Marc Valin [Thu, 1 Sep 2011 17:46:18 +0000 (13:46 -0400)]
opus_strerror() and opus_get_version_string() moved to libcelt
Jean-Marc Valin [Thu, 1 Sep 2011 17:40:39 +0000 (13:40 -0400)]
Renamed some funciton that were likely to clash with other (non-Opus) code
Jean-Marc Valin [Thu, 1 Sep 2011 17:26:04 +0000 (13:26 -0400)]
testcelt replaced by test_opus_custom
Jean-Marc Valin [Thu, 1 Sep 2011 17:20:40 +0000 (13:20 -0400)]
Implements the OpusCustom modes (mostly) properly
Jean-Marc Valin [Wed, 31 Aug 2011 21:47:48 +0000 (17:47 -0400)]
Sharing more macros between the Opus code and the CELT low-level code
Jean-Marc Valin [Wed, 31 Aug 2011 20:43:08 +0000 (16:43 -0400)]
Makes the CELT init() functions behave just like the Opus ones.
Jean-Marc Valin [Wed, 31 Aug 2011 19:08:12 +0000 (15:08 -0400)]
Opus now only uses the _with_ec() calls to CELT
Kat Walsh [Tue, 30 Aug 2011 00:47:33 +0000 (20:47 -0400)]
Further copyediting of draft.
Gregory Maxwell [Tue, 30 Aug 2011 23:50:41 +0000 (19:50 -0400)]
Adds many syntactically unnecessary parentheses to silence GCC -Wparentheses.
The object code is unchanged (except ectest). Also reenables -Wparentheses, -Wsign-compare,
and the MSVC warnings.
Gregory Maxwell [Tue, 30 Aug 2011 22:35:06 +0000 (18:35 -0400)]
Fix up various mixed unsigned/signed comparisons.
This silences MSVC warning C4018 and fixes a bug with the intra
decision and improves portability to 16 bit platforms.
Jean-Marc Valin [Wed, 31 Aug 2011 00:09:22 +0000 (20:09 -0400)]
Implements OPUS_RESET_STATE for the encoder (untested as well)
Jean-Marc Valin [Tue, 30 Aug 2011 22:01:06 +0000 (18:01 -0400)]
Implements OPUS_RESET_STATE for the decoder (untested)
Gregory Maxwell [Tue, 30 Aug 2011 20:50:01 +0000 (16:50 -0400)]
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.
Gregory Maxwell [Tue, 30 Aug 2011 18:02:41 +0000 (14:02 -0400)]
Adds many syntactically unnecessary parentheses to silence MSVC C4554.
The object code is unchanged.
Jean-Marc Valin [Tue, 30 Aug 2011 16:39:51 +0000 (12:39 -0400)]
Using OPUS_ macros for <string.h> operations
Removes a bunch of system #include <...> in the process
Jean-Marc Valin [Tue, 30 Aug 2011 05:39:40 +0000 (01:39 -0400)]
Custom modes fixes (got broken by the s/celt_alloc/opus_alloc/)
Jean-Marc Valin [Tue, 30 Aug 2011 03:35:17 +0000 (23:35 -0400)]
Adds missing RESTORE_STACK to Opus encoder
Jean-Marc Valin [Tue, 30 Aug 2011 01:46:17 +0000 (21:46 -0400)]
Fixes a bug introduced in
8fe8b8e0b
The SILK bandwidth was incorrectly encoded in the ToC when SILK wasn't
using the "desired bandwidth"
Jean-Marc Valin [Mon, 29 Aug 2011 20:31:52 +0000 (16:31 -0400)]
Makes the allocation more C++-friendly
Jean-Marc Valin [Mon, 29 Aug 2011 20:28:01 +0000 (16:28 -0400)]
oops, opus_free() shouldn't be using opus_free()
Jean-Marc Valin [Mon, 29 Aug 2011 20:25:54 +0000 (16:25 -0400)]
Fixes warnings
Jean-Marc Valin [Mon, 29 Aug 2011 20:10:08 +0000 (16:10 -0400)]
Fixes minor issues from the previous allocation wrapper patch
Jean-Marc Valin [Mon, 29 Aug 2011 19:08:51 +0000 (15:08 -0400)]
Wrapping all allocation within opus_alloc() and opus_free()
Jean-Marc Valin [Mon, 29 Aug 2011 17:48:58 +0000 (13:48 -0400)]
Using malloc() rather than calloc() as generic allocator
Jean-Marc Valin [Mon, 29 Aug 2011 13:56:14 +0000 (09:56 -0400)]
Adds error code to multistream API
Jean-Marc Valin [Mon, 29 Aug 2011 13:40:57 +0000 (09:40 -0400)]
Better error handling in the Opus API
Jean-Marc Valin [Mon, 29 Aug 2011 04:36:39 +0000 (00:36 -0400)]
Removes // from win32/config.h
Jean-Marc Valin [Mon, 29 Aug 2011 04:07:16 +0000 (00:07 -0400)]
Apparently C89 doens't like unnecessary semicolons
Jean-Marc Valin [Mon, 29 Aug 2011 04:00:25 +0000 (00:00 -0400)]
This should remove the last // comments
Jean-Marc Valin [Mon, 29 Aug 2011 00:27:18 +0000 (20:27 -0400)]
s/INBAND_FEC_FLAG/INBAND_FEC/
Jean-Marc Valin [Sun, 28 Aug 2011 19:49:32 +0000 (15:49 -0400)]
Making sure that everything in opus.h has a opus prefix
Ralph Giles [Sun, 28 Aug 2011 10:32:13 +0000 (22:32 +1200)]
Add pkg-config support files.
These files allow compiling and linking against the reference
implementation with an invocation like `pkg-config --cflags
--libs opus`. They're optional within the opus build system,
but can simplify compilation for clients and are generally
considered part of a normal autotools build these days.
The -uninstalled version refers to local build products
within the tree, which is helpful for testing and unprivileged
builds. opus.pc is used once 'make install' has put the
libraries and headers somewhere more permanent.
Ralph Giles [Sun, 28 Aug 2011 10:02:16 +0000 (22:02 +1200)]
Add new public headers to the install targets.
The new opus_types.h header is required to build against libopus,
so must be installed alongside opus.h. Furthermore, opus-tools
expects access to the multichannel support in opus_multichannel.h.
Jean-Marc Valin [Sun, 28 Aug 2011 06:12:31 +0000 (02:12 -0400)]
Fixes a trivial multistream fixed-point bug
Jean-Marc Valin [Sun, 28 Aug 2011 06:09:55 +0000 (02:09 -0400)]
More // comments changed to /*
Jean-Marc Valin [Sun, 28 Aug 2011 02:53:38 +0000 (22:53 -0400)]
Changing some // comments into /*
Jean-Marc Valin [Sat, 27 Aug 2011 05:32:53 +0000 (01:32 -0400)]
more multistream ctl()s
Jean-Marc Valin [Sat, 27 Aug 2011 04:52:26 +0000 (00:52 -0400)]
Adds support for multi-stream encoding/decoding
Only tested for the single-stream case!
Gregory Maxwell [Fri, 26 Aug 2011 19:01:10 +0000 (15:01 -0400)]
Disable the LPC mode highpass filter when set to APPLICATION_AUDIO.
Jean-Marc Valin [Fri, 26 Aug 2011 17:01:42 +0000 (13:01 -0400)]
More precise CELT/SILK delay compensation to reduce mode switching glitches
Timothy B. Terriberry [Fri, 26 Aug 2011 14:02:45 +0000 (07:02 -0700)]
More spec updates.
Clarifications/fixes for stereo and handling the mid-only flag.
Also updates the Acknowledgements section.
Jean-Marc Valin [Fri, 26 Aug 2011 13:44:16 +0000 (09:44 -0400)]
Fixes mathops-test for pseudo-stack
Koen Vos [Thu, 25 Aug 2011 17:50:21 +0000 (13:50 -0400)]
Addresses a bitstream bug for stereo FEC and minor fixes that make Opus compile again with Visual Studio.
Gregory Maxwell [Wed, 24 Aug 2011 21:39:02 +0000 (17:39 -0400)]
Jean-Marc Valin [Wed, 24 Aug 2011 04:53:38 +0000 (00:53 -0400)]
fixes a build issue introduced in the s/signal/frame/ patch
Ralph Giles [Wed, 24 Aug 2011 04:29:29 +0000 (00:29 -0400)]
Expand tabs and regularize some conditionals.
Timothy B. Terriberry [Wed, 24 Aug 2011 01:25:49 +0000 (18:25 -0700)]
More spec additions.
This should now document the complete SILK bitstream, though not
the full reconstruction process.
Ralph Giles [Wed, 24 Aug 2011 00:49:04 +0000 (12:49 +1200)]
Use 'frame' instead of 'signal' in the silk code.
On MacOS, stdlib.h ends up including sys/signal.h, generating
warnings about the local variables called 'signal' shadowing
the global symbol signal(3). Tested with XCode 4.1 on
MacOS X 10.7.0.
The signal buffers passed in are generally frames being processed,
and the code already uses the term frame and frame_length elsewhere,
so I've resolved the warning by renaming signal and signal_* locals
and parameters to frame and frame_*.
Ralph Giles [Wed, 24 Aug 2011 00:01:16 +0000 (12:01 +1200)]
Include opus_private.h when building the repacketizer.
The repacketizer uses encode_size() which is only declared
in the private header.
Ralph Giles [Tue, 23 Aug 2011 23:58:47 +0000 (11:58 +1200)]
Use standard search path for systems headers in the repacketizer.
Kat Walsh [Tue, 23 Aug 2011 07:48:43 +0000 (03:48 -0400)]
Copyedited draft (up to line 4015).
Edited for correctness, clarity, and consistent usage.
No meaning should have been changed by this edit.
Gregory Maxwell [Tue, 23 Aug 2011 06:00:55 +0000 (02:00 -0400)]
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.
Jean-Marc Valin [Tue, 23 Aug 2011 06:56:12 +0000 (02:56 -0400)]
encode_size() moved out of opus_encoder.c
Jean-Marc Valin [Mon, 22 Aug 2011 14:40:38 +0000 (10:40 -0400)]
Moves align() to a single header
Jean-Marc Valin [Sat, 20 Aug 2011 04:21:46 +0000 (00:21 -0400)]
Better handling of DTX for range coder state checks
Jean-Marc Valin [Fri, 19 Aug 2011 21:07:16 +0000 (17:07 -0400)]
Final range coder state now exposed through the ctl() interface
Jean-Marc Valin [Fri, 19 Aug 2011 20:11:41 +0000 (16:11 -0400)]
Including redundant frames in the final range coder state
Gregory Maxwell [Fri, 19 Aug 2011 16:17:22 +0000 (12:17 -0400)]
Add prototypes for the _float functions to opus.h.
Jean-Marc Valin [Fri, 19 Aug 2011 17:00:49 +0000 (13:00 -0400)]
Removes opus_encoder.h and opus_decoder.h
Moves opaque structs directly to .c files
Timothy B. Terriberry [Fri, 19 Aug 2011 03:29:52 +0000 (23:29 -0400)]
Adds code for parsing self-delimited packets
Jean-Marc Valin [Thu, 18 Aug 2011 21:28:28 +0000 (17:28 -0400)]
Renaming "mode" option to "application"
Jean-Marc Valin [Thu, 18 Aug 2011 21:02:25 +0000 (17:02 -0400)]
Using dllimport on Win32 when not building Opus
Jean-Marc Valin [Thu, 18 Aug 2011 20:55:24 +0000 (16:55 -0400)]
s/OPUS_SET_VBR_FLAG/OPUS_SET_VBR/
Jean-Marc Valin [Thu, 18 Aug 2011 19:54:00 +0000 (15:54 -0400)]
opus_packet_parse() now returns the payload offset rather than the pointer
Jean-Marc Valin [Thu, 18 Aug 2011 19:00:59 +0000 (15:00 -0400)]
Making sure the decoder always outputs at least 2.5 ms
Jean-Marc Valin [Thu, 18 Aug 2011 18:32:16 +0000 (14:32 -0400)]
Changing the encoder to output the ToC in DTX mode
Also fixes the "output all zeros" case for DTX/PLC at the beginning of
a stream
Gregory Maxwell [Wed, 17 Aug 2011 21:06:17 +0000 (17:06 -0400)]
Prevent spurious "Invalid payload length" on test_opus decode,
and avoid calling rand() during decode in order to make fuzzing
more deterministic.
Benjamin M. Schwartz [Wed, 17 Aug 2011 01:18:32 +0000 (21:18 -0400)]
Reduce the number of branches around ncwrs* and ucwrs* calls with k==0.
This slightly reduces the executable size and might improve
performance on platforms without good branch prediction.
Jean-Marc Valin [Wed, 17 Aug 2011 19:53:37 +0000 (15:53 -0400)]
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.
Jean-Marc Valin [Wed, 17 Aug 2011 03:22:55 +0000 (23:22 -0400)]
Date change on the draft
Timothy B. Terriberry [Tue, 16 Aug 2011 21:36:58 +0000 (14:36 -0700)]
More spec additions and clean-up.
This also adds an appendix for the self-delimiting framing.
Jean-Marc Valin [Tue, 16 Aug 2011 13:27:25 +0000 (09:27 -0400)]
Removes useless test in test_opus
Jean-Marc Valin [Tue, 16 Aug 2011 13:12:14 +0000 (09:12 -0400)]
Making the CELT bitrate default to "unlimited"
Kat Walsh [Tue, 16 Aug 2011 02:57:54 +0000 (22:57 -0400)]
Update licensing file with current IPR disclosures; remove outdated Skype text.
Kat Walsh [Tue, 16 Aug 2011 02:43:51 +0000 (22:43 -0400)]
Updated README files to reflect current output of tool and tweaked punctuation and wording. Corrected typo in test_opus ("constraint"->"constrained").
Jean-Marc Valin [Tue, 16 Aug 2011 02:37:11 +0000 (22:37 -0400)]
Define CELT bitrate=-1 as "unlimited" (i.e. all bytes given)
Jean-Marc Valin [Tue, 16 Aug 2011 02:06:02 +0000 (22:06 -0400)]
Fixes a high bit-rate redundant frame bug
We now ensure that the total payload *including* the redundant frame
is no more than 1275 bytes. Also, the redundant frame itself must
be no more than 257 (the max that can be signalled).
Gregory Maxwell [Mon, 15 Aug 2011 17:18:52 +0000 (13:18 -0400)]
In silk_dec_API.c a memcpy was blindly copying data of differing types (opus_int16[2] to opus_int[2]).
Gregory Maxwell [Mon, 15 Aug 2011 21:25:59 +0000 (17:25 -0400)]
Strip off trailing zero bytes when in LPC mode.
Saves about 60 bits/sec for 20ms frames.
Gregory Maxwell [Mon, 15 Aug 2011 20:05:40 +0000 (16:05 -0400)]
Avoid passing 'resynth' argument since resynth is either !encode
or it's always 1 if -DRESYNTH.
Jean-Marc Valin [Mon, 15 Aug 2011 18:08:57 +0000 (14:08 -0400)]
Fixes an encoder bugg when requesting a CBR rate over the allowable limit
Gregory Maxwell [Mon, 15 Aug 2011 17:03:25 +0000 (13:03 -0400)]
Make dump_modes.c include the arguments in the output.
Gregory Maxwell [Mon, 15 Aug 2011 16:35:10 +0000 (12:35 -0400)]
Respect the ANSI C89 maximum line length.
Gregory Maxwell [Mon, 15 Aug 2011 15:35:39 +0000 (11:35 -0400)]
Remove two branches from bitexact_cos(). These cases were actually
unreachable due the maximum and minimum values being special cases
in the caller plus the limits of the maximum itheta precision.
The testcases are also updated to only test the reachable range.
Jean-Marc Valin [Mon, 15 Aug 2011 15:24:37 +0000 (11:24 -0400)]
Replacing SPK_INLINE by static inline
The config.h will take care of compat issues with "inline"
Gregory Maxwell [Mon, 15 Aug 2011 14:35:06 +0000 (10:35 -0400)]
Add cwrs32-test coverage for some N which are only used
with oddball opus-custom framesizes, disables testing
sizes only used by custom modes when not compiling with
custom mode support.
Jean-Marc Valin [Mon, 15 Aug 2011 14:49:53 +0000 (10:49 -0400)]
Including config.h from all the SILK files
Jean-Marc Valin [Mon, 15 Aug 2011 14:20:06 +0000 (10:20 -0400)]
Making the MDCT produce interleaved data
Jean-Marc Valin [Mon, 15 Aug 2011 14:01:00 +0000 (10:01 -0400)]
Making the IMDCT work on interleaved data
Saves a copy in the decoder