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
2013-11-19Adds functions for multistream padding/unpadding and single-stream unpaddingJean-Marc Valin
These are all completely untested.
2013-11-15Adds OPUS_SET_PREDICTION_DISABLED() ctl to force "independent" framesJean-Marc Valin
Works by turning off pitch and energy prediction in CELT, while setting first_frame_after_reset in SILK to disable pitch and LSF interpolation and reduce LPC gain.
2013-11-14Adds packet padding that works for all codes and fixes 40/60 ms CBR.Jean-Marc Valin
Padding is now handled by the repacketizer.
2013-11-09Hides OPUS_FRAMESIZE_VARIABLE from the API until it actually worksJean-Marc Valin
2013-10-28Replace "inline" with OPUS_INLINE.Gregory Maxwell
Newer versions of MSVC are unhappy with the strategy of the build environment redefining "inline" (even though they don't support the actual keyword). Instead we define OPUS_INLINE to the right thing in opus_defines.h. This is the same approach we use for restrict.
2013-06-30Fixes some return without va_end in the api, adds tests.Gregory Maxwell
Also makes the CTL bad argument handling more consistent to avoid mistakes like that in the future. Also updates the variable duration docs.
2013-06-17Use __declspec(dllexport) on mingw build.Jacek Caban
Signed-off-by: Gregory Maxwell <greg@xiph.org>
2013-05-18Change few remaining instances of short to opus_int16Jean-Marc Valin
2013-05-05Implements basic surround maskingJean-Marc Valin
The idea is that the rate of each stream is adjusted based on its contribution to the total energy of a stereo downmix.
2013-05-05Initial surround code with new APIJean-Marc Valin
Conflicts: src/opus_multistream_encoder.c
2013-03-19Minor soft clipping doc fixJean-Marc Valin
2013-03-08Merge branch 'exp_analysis'Jean-Marc Valin
Conflicts: celt/celt_encoder.c
2013-03-02Oops, fixed API name from previous commitJean-Marc Valin
2013-03-02Applies soft-clipping to the int decoder API.Jean-Marc Valin
opus_decode() and opus_multistream_decode() now apply soft clipping before converting to 16-bit int. This should produce better a higher quality result than hard clipping like we were doing before. The _float() API isn't affected, but the clipping function is exported so users can manually apply the soft clipping.
2013-02-20Adds support for delayed decisionJean-Marc Valin
Variable duration option renamed to OPUS_SET_EXPERT_FRAME_DURATION, with new API. Also moves up the analysis to avoid having to do int->float conversion on large buffers.
2013-02-10First attempt at varying the frame size depending on the audio (float only)Jean-Marc Valin
The search is based on minimizing the bitrate increase due to transients by considering we can reduce the "transient boost" by reducing the frame size, at the cost of increasing the normal overhead.
2012-12-11Document that opus_packet_get_nb_frames, etc. can return OPUS_BAD_ARG.Ralph Giles
NB they only check for len < 1, not for null data.
2012-12-05Implements opus_packet_get_nb_samples()Jean-Marc Valin
2012-12-05Implements OPUS_GET_LAST_FRAME_DURATION decoder ctl()Jean-Marc Valin
2012-12-05Changes the PLC behaviour and fixes the FEC behaviour on concatenated packetsJean-Marc Valin
PLC and FEC now return exactly the number of samples specified for the buffer rather than (usually) returning the size of the last packet. Doc and tests are updated accordingly.
2012-11-29Allow the build files to override OPUS_EXPORT.Ralph Giles
OPUS_EXPORT was conditionalized on OPUS_BUILD, so that symbols are export based on public header declarations when building opus as a library, but not when those headers are included in other programmes. This doesn't address the case when the opus source and its caller are both included in the same monolithic build. In that case we want to define OPUS_BUILD, to indicate that we are compiling the codec source, but not export the symbols. To support this, only define OPUS_EXPORT if it is not already defined. This allows build scripts to -DOPUS_EXPORT and override the platform-specific attribute decortation in opus_defines.h. Based on a patch by Sergey Ulanov. http://git.chromium.org/gitweb/?p=chromium/deps/opus.git;a=commitdiff;h=6304b9628cb7244e3cc78f740aeb6659562f1857
2012-11-08Fixes issues with multiple files defining CELT_CJean-Marc Valin
2012-11-08Splits out the CELT encoder and decoderJean-Marc Valin
2012-11-01Move LSB CTLs to the encoder specific section, thanks to Ilari on IRC for ↵Gregory Maxwell
noticing.
2012-10-06Fix typo in documentation for opus_decoder_create().Gregory Maxwell
2012-09-28Belabor OPUS_SET_BITRATE instead of max_packet, as this is a common trap.Gregory Maxwell
2012-09-27Fix common misspellingsPhilip Jägenstedt
I stumbled upon the typo in README.draft, so took the opportunity to grep for common misspellings using List_of_common_misspellings.txt for hunspell.
2012-09-25Docbug: Replace opus_encode_frame with opus_encode_float in doxygen.Gregory Maxwell
2012-09-19Replace 'maximum frame size' with 'maximum packet duration' in the docs.Gregory Maxwell
This could be confusing/misleading.
2012-09-11Fixes multistream docJean-Marc Valin
2012-09-11Expand documentation for the multistream API.Timothy B. Terriberry
This patch also includes some small edits/additions to the main API documentation.
2012-09-11Fixes to the new repacketizer docJean-Marc Valin
2012-09-10Add documentation for the repacketizer API.Timothy B. Terriberry
This patch also includes some small edits for the main API documentation.
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-08-12More doc fixes.Gregory Maxwell
In particular we no longer document the default complexity because we're not guaranteeing to keep the default value constant. In the future the default may be lowered in order to keep the default speed constant.
2012-08-09Documentation updates for the CTLs.Timothy B. Terriberry
In addition to general reformatting and cleanup, this fixes a couple of important mistakes: - The arguments to OPUS_SET_FORCE_CHANNELS are now 1 and 2, not 0 and 1 (as they were when this was called OPUS_SET_FORCE_MONO). - The default encoder mode is now constrained VBR, not unconstrained VBR. It also documents defaults for all the other parameters.
2012-08-07Implements OPUS_{GET,SET}_LSB_DEPTHJean-Marc Valin
This implements an API used in future encoders to avoid dynalloc doing silly things on periodic LSB patterns and to reduce the bitrate on near-silence.
2012-08-06Fix opus_encode allowed frame sizes docs, reported by Stefan Hacker.Gregory Maxwell
2012-07-26Guard _MSC_VER tests, remove FLOAT2INT16 when DISABLE_FLOAT_API.Rafaël Carré
2012-07-22Add some more api docs.Gregory Maxwell
2012-07-21Replace the remaining instances of restrict with OPUS_RESTRICT.Gregory Maxwell
The usage of restrict in include/opus_custom.h was missed by the prior commit replacing this keyword with a macro. Also fixes some prototype/function agreement with respect to restrict.
2012-07-20Replace a remaining instance of restrict with OPUS_RESTRICT.Gregory Maxwell
The usage of restrict in include/opus_custom.h was missed by the prior commit replacing this keyword with a macro.
2012-07-18Replace C99 restrict keyword with OPUS_RESTRICT.Gregory Maxwell
We had previously advised people to -Drestrict on non-C99 compilers, but this creates problems for some of the MSVC headers. Instead this just uses a macro and defines it sanely.
2012-07-17Clarify difference between user bandwidth settings.Timothy B. Terriberry
2012-07-11Make OPUS_SET_GAIN survive decode reset.Gregory Maxwell
This is the less-surprising behavior and will hopefully result in fewer corner case bugs (e.g. losing gain after seeking). This commit also updates the documentation.
2012-07-11Add OPUS_{GET|SET}_GAIN CTLs for adjusting output gain.Gregory Maxwell
This CTL was requested by Nicolas George for FFmpeg.
2012-06-11Pretty up the HTML doxygen output.Gregory Maxwell
2012-06-11Add brief descriptions to the encode/decode groups to avoid weird autobreif ↵Gregory Maxwell
strings.
2012-06-11Correct documentation in opus_custom.h.Gregory Maxwell
2012-06-01Update headers to cause warnings on unused returns and null args.Gregory Maxwell
In places where an ignored return or a null-arg is a sure indication of a bug add the GCC warning attributes. The null arg annotation is not enable for Opus itself because it will cause the compiler to optimize out some null checks. I don't trust our callers quite that much.