Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.xiph.org/xiph/opus.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2012-11-08Splits out the Opus multi-stream encoder and decoderJean-Marc Valin
2012-10-27Fix several issues with multistream argument validation.Gregory Maxwell
As reported by Mark Warner opus_multistream_*_create were depending on the behavior of malloc(0) in order to correctly report some kinds of argument errors. Bad arguments could be incorrectly reported as allocation failures. This changes multistream to explicitly check the arguments like the single stream _create functions. The unit tests were enough to catch this on systems where malloc(0) returns NULL but didn't catch it on other systems because the later _init call would catch the bad arguments and trigger the correct error if and only if the malloc didn't return a null pointer. In multistream_encoder_init failures of the internal non-multistream init calls were not being caught and propagated. Decode didn't have this problem. This propagates the errors and adds additional tests (the multistream encoder api is sill under tested) that would have detected this error. Plus add some stronger tests for things like error==NULL for the _create functions that take a pointer for error output.
2012-10-11Adds OPUS_{G,S}ET_FORCE_CHANNELS requests to multistream APIJean-Marc Valin
2012-09-08Remove large multistream stack buffers.Timothy B. Terriberry
This avoids allocating any buffers on the stack that depend on the total channel count. Such buffers could easily exceed the size of the NONTHREADSAFE_PSEUDOSTACK. It also checks the frame_size argument in both the encoder and decoder to avoid allocating large stack buffers for opus_encode() calls that would fail anyway or opus_decode() calls that would never use all that space anyway.
2012-09-06Balance parentheses in opus_multistream.c.Timothy B. Terriberry
This makes simple syntax highlighters (e.g., vim) stop complaining because they don't parse the #ifdef's.
2012-08-22Additional multistream tests and reject channels<1 in MS API.Gregory Maxwell
2012-08-07OPUS_{GET,SET}_LSB_DEPTH for multichannel.Gregory Maxwell
2012-07-18Convert some double constants to float.Gregory Maxwell
2012-07-14Opus_multistream API hardening.Gregory Maxwell
2012-07-11Add OPUS_{GET|SET}_GAIN CTLs for adjusting output gain.Gregory Maxwell
This CTL was requested by Nicolas George for FFmpeg.
2012-04-24Merge commit '390c89225d'Jean-Marc Valin
2012-04-21s/FOUNDATION/COPYRIGHT OWNER/ in CELT code and "glue code"Jean-Marc Valin
Also added 3rd clause to "master" COPYING file
2012-03-06Make input mapping parameter const in multistream APIVincent Penquerc'h
2012-03-06Various multistream fixes.Gregory Maxwell
Fixes the encoder bitrate CTLs to correctly apply to all streams, prevents the MS encoder from starving the latter streams by not reserving a reasonable minimum amount of space for them.
2012-03-0640/60ms MDCT/Hybrid were not able to reach maximum bitrate. Now they can.Gregory Maxwell
Also change the packet length in the API from int to opus_int32 because repacketized frames are able to go beyond 32767 bytes in size.
2011-12-02Fixes the code for optional self-delimited packing to make it fit the draftGregory Maxwell
This has no impact on opus_demo, test vectors, or "normal" codec operation
2011-10-31Multi-stream now checks that each stream at least contains a ToC.Jean-Marc Valin
2011-10-31Fix multistream packet corruption, implement GET_FINAL_RANGE for ↵Gregory Maxwell
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.
2011-10-30Fix a number of multistream decoder bugs; add some very basic multistream ↵Gregory Maxwell
decoder tests.
2011-10-28Gives the Opus code direct access to (non-opaque) OpusRepacketizerJean-Marc Valin
This avoids potential alignment issues with allocating a char array on the stack.
2011-10-27Convert tabs to spaces in the opus and celt code.Ralph Giles
Also reformat some, but by no means all, of the opus code for line length and three-character indents.
2011-09-14Remove redundant API parameter comments from opus_multistream.c.Ralph Giles
The parameters for public API calls are already documented in opus_multistream.h. It's better not to have separate copies of those comments in the implementation.
2011-09-12Implements OPUS_MULTISTREAM_{EN|DE}CODER_GET_STATEJean-Marc Valin
Untested
2011-09-12Implements multi-stream encoder requests the best we canJean-Marc Valin
2011-09-12Properly implementing the multistream decoder ctl()sJean-Marc Valin
Not tested
2011-09-09Makes multi-stream encoding code use the repacketizerJean-Marc Valin
2011-09-09Fixes multi-stream bug exposed in e335065a1ba72Jean-Marc Valin
2011-09-07Making the sampling rate an int32 in the multi-stream APIJean-Marc Valin
2011-09-06s/OPUS_CORRUPTED_DATA/OPUS_INVALID_PACKET/Jean-Marc Valin
2011-08-30Using OPUS_ macros for <string.h> operationsJean-Marc Valin
Removes a bunch of system #include <...> in the process
2011-08-30Makes the allocation more C++-friendlyJean-Marc Valin
2011-08-30Fixes minor issues from the previous allocation wrapper patchJean-Marc Valin
2011-08-29Wrapping all allocation within opus_alloc() and opus_free()Jean-Marc Valin
2011-08-29Adds error code to multistream APIJean-Marc Valin
2011-08-28Fixes a trivial multistream fixed-point bugJean-Marc Valin
2011-08-27more multistream ctl()sJean-Marc Valin
2011-08-27Adds support for multi-stream encoding/decodingJean-Marc Valin
Only tested for the single-stream case!