summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* oopsexp_wipJean-Marc Valin2012-12-041-1/+1
|
* Implements OPUS_GET_LAST_FRAME_DURATION decoder ctl()Jean-Marc Valin2012-12-043-1/+20
|
* Don't update the internal decoder state until we know the packet is validJean-Marc Valin2012-12-041-4/+7
|
* Documentation update for the PLC/FEC changesJean-Marc Valin2012-11-232-4/+20
|
* test_opus_encode now passes with the new FEC/PLC codeJean-Marc Valin2012-11-231-2/+2
|
* Fixes a bug with the new FEC code and updates the test for the new behaviourJean-Marc Valin2012-11-233-10/+14
|
* PLC fixesJean-Marc Valin2012-11-231-17/+7
| | | | | | We now report an error if the PLC frame size is not a multiple of 2.5 ms and currectly handles the case of CELT PLC when the size isn't a multiple of 20 ms.
* Changes the PLC behaviour and fixes the FEC behaviour on concatenated packetsJean-Marc Valin2012-11-191-8/+43
|
* Tweaks to the new transient detectorJean-Marc Valin2012-11-191-5/+16
| | | | | Instead of using the average energy over the frame, we use a half-way point between the average energy and the max energy.
* Enable maintainer mode by default on automake 1.11Ralph Giles2012-11-141-1/+1
| | | | | | | | | | | | | | | Passing 'enable' as an argument to AM_MAINTAINER_MODE flips the default to enabled, rather than disabled until automake 1.11. This is a safer default for a developer-oriented library. ./configure --disable-maintainer-mode is still available for packagers who what to preserve the upstream build distribution. On earlier automake versions, the argument appears to have no effect, so there is no behaviour change for developers using older autotools. Based on a patch for opusfile by ron@debian.org.
* Follow up to commit 8b906c102b37ce74571898c8879c01b2a9088fb3Nils Wallménius2012-11-121-8/+0
| | | | | | Remove two now redundant zeroing loops Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
* Fix the draft build.Timothy B. Terriberry2012-11-121-1/+1
| | | | | Makefile.draft got renamed to Makefile.unix in e91dfa0f, but build_draft.sh was not updated.
* Should make celt_maxabs*() slightly fasterJean-Marc Valin2012-11-121-4/+12
| | | | shorter dependencies
* RTP draft: Using sampling rates instead of bandwidthsJean-Marc Valin2012-11-121-22/+28
|
* Oops, fixes transient_analysis() for the right channelJean-Marc Valin2012-11-111-6/+7
|
* Fixes a VBR bug caused by maxDepth not to be computed without dynallocJean-Marc Valin2012-11-111-94/+119
| | | | Also, moves the dynalloc code to a separate function
* Fix line endings on MSVC project files.Ralph Giles2012-11-094-368/+368
| | | | | | | | | | | | These files has unix line endings, while the other project files have dos line endings. I hoped this would fix the link error about corrupt or invalid files with these projects, but it doesn't. Running 'Update project files...' in the VS2012 IDE is a work around, but it just adds a <PlatformToolset> element to each <PropertyGroup> and a line ending at the end of the file.
* Add the new source files to the MSVC projects.Ralph Giles2012-11-094-3/+19
| | | | | | | | | Commits ae0e2ca8 and 6906210c split encode and decode support into separate files to help reduce the footprint of decode-only builds. This commit adds the new source files to the MSVC project files, fixing that build.
* Better description of the the stereo signalling behaviourJean-Marc Valin2012-11-091-16/+42
|
* Bump version.mk.Ralph Giles2012-11-091-2/+2
| | | | | | | | Naive builders, particular on Windows without git installed, would get builds calling themselves 1.0.1 even though master has diverged significantly from the 1.0.x series at this point. We should update this file both before and after release.
* Remove long-outdated commentJean-Marc Valin2012-11-081-3/+0
|
* Fixes a quant_coarse_energy() hybrid mode bugJean-Marc Valin2012-11-081-3/+6
| | | | | max_decay was being computed based on the small number of bits allocated to CELT. It's now set to the max value (16) when in hybrid mode.
* Fixes a bug where transient frames would use previous spreadingJean-Marc Valin2012-11-081-1/+3
| | | | Also forces SPREAD_NORMAL in hybrid mode
* Disables tf_analysis() for hybrid modeJean-Marc Valin2012-11-081-22/+24
| | | | | This prevents issues on speech where tf would undo what transient_analysis() found
* Fixes issues with multiple files defining CELT_CJean-Marc Valin2012-11-083-7/+5
|
* Splits out the CELT encoder and decoderJean-Marc Valin2012-11-086-3136/+3288
|
* Splits out the Opus multi-stream encoder and decoderJean-Marc Valin2012-11-075-939/+1030
|
* Changed denormalize_bands() to only work between "start" and "end"Jean-Marc Valin2012-11-073-29/+11
|
* Reduces stack in quant_all_bands() for hybrid modeJean-Marc Valin2012-11-071-9/+11
| | | | No need to allocate for the low-band
* More stack usage reduction in quant_all_bands()Jean-Marc Valin2012-11-071-5/+10
| | | | Reduce size of "norm" because we never need it for the last band
* Removes the need for lowband_scratch in quant_all_bands()Jean-Marc Valin2012-11-072-14/+19
|
* Moved up the second encoder mdct to reduce stack usageJean-Marc Valin2012-11-061-29/+30
|
* Reduces decoder stack usageJean-Marc Valin2012-11-052-10/+44
| | | | | Delays stack allocations as much as possible, and makes some of these allocations conditional.
* Further cleanup of the MDCT code, fixes PLC bugJean-Marc Valin2012-11-051-54/+53
| | | | | | Doing the overlap coying in the same OPUS_MOVE() as the rest of the synthesis memory. Also, there was a missing OPUS_MOVE() in the PLC for the hybrid/CNG case.
* Avoid copying imdct outputNils Wallménius2012-11-051-38/+13
| | | | | | | | | Use the output buffer directly for imdct output, avoiding use of an intermediary buffer and copying from it. This works because the output buffer is offset to always be continous with the overlap buffer in the decoder. Adjust encoder resynth code to have the same buffer layout. Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
* Various fixes to draft-terriberry-oggopus.xmlTimothy B. Terriberry2012-11-031-24/+28
| | | | It should now validate with the Python version of the xml2rfc tool.
* comb_filter() bypass for the case where the gain is zero.Jean-Marc Valin2012-11-031-0/+15
|
* Oops, put back the "static" for transient_analysis()Jean-Marc Valin2012-11-031-1/+1
|
* Fixes a fixed-point overflow in the new transient detectorJean-Marc Valin2012-11-031-8/+7
|
* Fixes a fixed-point divide-by-zero issueJean-Marc Valin2012-11-021-2/+2
|
* New transient detection algorithmJean-Marc Valin2012-11-021-79/+94
| | | | This one is explicitly based on a simple temporal masking model
* Move LSB CTLs to the encoder specific section, thanks to Ilari on IRC for ↵Gregory Maxwell2012-10-311-13/+13
| | | | noticing.
* Adds missing license headers on some scripts and test filesJean-Marc Valin2012-10-3015-0/+410
|
* Keeping the deemphasis coefficients in local variable to avoid aliasing issuesJean-Marc Valin2012-10-291-5/+10
|
* Moves the pitch prefiltering code to a separate functionJean-Marc Valin2012-10-291-133/+162
|
* Fix several issues with multistream argument validation.Gregory Maxwell2012-10-273-101/+161
| | | | | | | | | | | | | | | | | | | | | 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.
* oops... fixes a C89 issueJean-Marc Valin2012-10-241-1/+1
|
* Moved pre-emphasis to a separate function and cleaned it upJean-Marc Valin2012-10-241-27/+67
| | | | | Removed a bunch of if()s from the loops and made the compiler life's easier by moving some pointer accesses outside the loops.
* Optimizations to comb_filter()Jean-Marc Valin2012-10-241-15/+27
|
* Removes more indirections in celt.cJean-Marc Valin2012-10-231-44/+56
| | | | mode->eBands[]