summaryrefslogtreecommitdiff
path: root/include
Commit message (Collapse)AuthorAgeFilesLines
* update doc on custom modeMarcus Asteborg2022-07-091-1/+2
| | | | Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
* doc: Use consistent alternative notationMark Harris2022-07-051-2/+2
| | | | Signed-off-by: Mark Harris <mark.hsj@gmail.com>
* Fix opus.h for doxygen when referencing alternative valuesAlexander Traud2022-07-051-1/+1
| | | | | | | Doxygen was not able to resolve the references because it looked for OPUS_APPLICATION_VOIP/@ref. Signed-off-by: Mark Harris <mark.hsj@gmail.com>
* Adds OPUS_SET_INBAND_FEC(2) optionJean-Marc Valin2022-06-301-2/+4
| | | | | Unlike OPUS_SET_INBAND_FEC(1), the encoder does not necessarily switch to SILK if we have music.
* Add support for Meson build systemTim-Philipp Müller2020-10-281-0/+13
| | | | | | | | | | | | | | Tested on: - Linux/x86* with gcc - Android armv7 arm64 x86 x86_64 with clang - Windows x86 x86_64 with Visual Studio 2017 - Windows x86 x86_64 with MinGW - macOS x86_64 with clang - iOS arm64 x86_64 with clang Co-authored by: Nirbheek Chauhan <nirbheek@centricular.com> https://gitlab.xiph.org/xiph/opus/-/merge_requests/13
* Replace WIN32 with _WIN32 everywhereNirbheek Chauhan2020-08-211-1/+1
| | | | | | | | _WIN32 is defined on all Windows platforms by every compiler that targets Windows. We do not need WIN32 at all. Signed-off-by: Mark Harris <mark.hsj@gmail.com> Resolves https://github.com/xiph/opus/pull/104
* Fix a typo in in opus_custom.h.Hua, Chunbo2020-04-261-2/+2
| | | | Signed-off-by: Ralph Giles <giles@thaumas.net>
* API for checking whether the encoder is in DTXGustaf Ullberg2019-04-101-0/+11
| | | | Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
* Fix opus_packet_parse() non-null arg attributeMark Harris2018-05-031-1/+1
| | | | It is the size array that must be non-null.
* Support for Ambisonics.Andrew Allen2018-03-211-0/+3
| | | | Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
* Decouple OpusProjection* API from static matrices.Andrew Allen2017-12-071-1/+1
| | | | | Change-Id: I3db285875b6b5548decc436be00096b97be1be3c Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
* Define integer types from stdint.h where it's availableKári Tristan Helgason2017-11-161-9/+16
| | | | | | | This fixes issues when using neon intrinsics on 64-bit systems. Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
* Support for Channel Mapping 253Andrew Allen2017-11-071-0/+568
| | | | | | | | | OpusProjection* classes MixingMatrix class Projection tests Change-Id: I98644466abf4ffd36e48bdecad1204d69e1539b9 Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
* Avoid warning when __STDC_VERSION__ is not definedCarlos Alberto Lopez Perez2017-05-011-1/+1
| | | | | | | | This fixes an issue with gcc 4.9 on Debian 8, at least, which defines __STDC__ but not __STDC_VERSION__, unlike more recent gcc. Signed-off-by: Ralph Giles <giles@thaumas.net>
* Fix OPUS_ARG_NONNULL indices in opus_multistream.hFelicia Lim2017-03-271-2/+2
|
* Removes OPUS_FRAMESIZE_VARIABLEJean-Marc Valin2016-11-041-2/+0
| | | | That experiment never actually worked
* Support encoding 80/100/120 ms frame lengthsFelicia Lim2016-10-271-0/+9
| | | | Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
* Allow disabling phase inversion for multistreamMark Harris2016-09-031-5/+6
| | | | Also clarify in doc that conformance issue relates to decoder only.
* Make it possible to ignore inverted phase stereo for downmix purposesexp_bitstream7Jean-Marc Valin2016-09-011-1/+25
|
* Packets indicating DTX may be up to 2 bytesMark Harris2016-07-081-1/+1
|
* Update URLsMark Harris2016-07-061-4/+4
|
* win32: only use dllexport when building DLLDaniel Verkamp2016-04-201-1/+1
| | | | | | | | | | | | If building a static library, marking symbols as dllexport causes them to be exported from the final executable. For example, run objdump -x opus_demo.exe on a --disabled-shared build and look for the export table; there should not be one in a normal Win32 .exe file, but when linking static libopus, the exe exports all of the opus_* public functions. Use the libtool-defined DLL_EXPORT flag to determine whether we are building a DLL and only specify __declspec(dllexport) in that case.
* Suggest OPUS_LSB_DEPTH(14) for G.711. r=td-linux,mark4oRalph Giles2016-01-071-0/+9
| | | | | | | | This is a reasonable choice for the (non-linear) dynamic range of mu-law. A-law is technically 13 bit, maybe 12; experimentation is needed. Per irc discussion with Jean-Marc, Ron, and Mark Harris.
* Updating links for both https and new versionsv1.1.1-rcMark Harris2015-10-231-3/+3
| | | | Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
* Corrections to docMark Harris2015-10-231-10/+21
| | | | Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
* Improve OPUS_GET_LSB_DEPTH documentation.Timothy B. Terriberry2015-06-231-0/+3
| | | | | We use at most 16 when using fixed-point (for the API or the internal implementation), but we didn't tell anyone this.
* Document how to tell if your build is fixed-point.Timothy B. Terriberry2015-02-201-0/+4
| | | | This way we won't break this by accident.
* Document the motivation for the 120 ms repacketizer limit.Ralph Giles2014-12-201-1/+4
| | | | | See the mailing list discussion at http://lists.xiph.org/pipermail/opus/2014-December/002802.html
* Lowered the smallest packet that the multi-stream encoder can encodeJean-Marc Valin2014-09-041-1/+1
| | | | | Limit now at 2*streams-1 and anything below that returns OPUS_BUFFER_TOO_SMALL rather than OPUS_BAD_ARG
* Fixes encoder/decoder classification of ctl() requests.Bruno Randolf2014-02-241-25/+25
| | | | Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
* Put custom_encoder_init decl behind CUSTOM_MODES. More softclip tests.Gregory Maxwell2013-11-241-2/+3
| | | | | This removes an unused definition warning when compiling without custom modes.
* Adds functions for multistream padding/unpadding and single-stream unpaddingJean-Marc Valin2013-11-181-1/+57
| | | | These are all completely untested.
* Adds OPUS_SET_PREDICTION_DISABLED() ctl to force "independent" framesJean-Marc Valin2013-11-151-0/+10
| | | | | | 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.
* Adds packet padding that works for all codes and fixes 40/60 ms CBR.Jean-Marc Valin2013-11-131-0/+2
| | | | Padding is now handled by the repacketizer.
* Hides OPUS_FRAMESIZE_VARIABLE from the API until it actually worksJean-Marc Valin2013-11-081-1/+0
|
* Replace "inline" with OPUS_INLINE.Gregory Maxwell2013-10-282-1/+13
| | | | | | | | | 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.
* Fixes some return without va_end in the api, adds tests.Gregory Maxwell2013-06-291-6/+19
| | | | | Also makes the CTL bad argument handling more consistent to avoid mistakes like that in the future. Also updates the variable duration docs.
* Use __declspec(dllexport) on mingw build.Jacek Caban2013-06-171-3/+3
| | | | Signed-off-by: Gregory Maxwell <greg@xiph.org>
* Change few remaining instances of short to opus_int16Jean-Marc Valin2013-05-181-2/+2
|
* Implements basic surround maskingJean-Marc Valin2013-05-051-0/+1
| | | | | The idea is that the rate of each stream is adjusted based on its contribution to the total energy of a stereo downmix.
* Initial surround code with new APIJean-Marc Valin2013-05-051-0/+28
| | | | | Conflicts: src/opus_multistream_encoder.c
* Minor soft clipping doc fixJean-Marc Valin2013-03-181-1/+1
|
* Merge branch 'exp_analysis'Jean-Marc Valin2013-03-081-1/+37
|\ | | | | | | | | Conflicts: celt/celt_encoder.c
| * Adds support for delayed decisionJean-Marc Valin2013-02-201-4/+13
| | | | | | | | | | | | | | 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.
| * First attempt at varying the frame size depending on the audio (float only)Jean-Marc Valin2013-02-101-1/+28
| | | | | | | | | | | | 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.
* | Oops, fixed API name from previous commitJean-Marc Valin2013-03-011-1/+1
| |
* | Applies soft-clipping to the int decoder API.Jean-Marc Valin2013-03-011-0/+14
|/ | | | | | | | 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.
* Document that opus_packet_get_nb_frames, etc. can return OPUS_BAD_ARG.Ralph Giles2012-12-111-0/+3
| | | | NB they only check for len < 1, not for null data.
* Implements opus_packet_get_nb_samples()Jean-Marc Valin2012-12-041-0/+11
|
* Implements OPUS_GET_LAST_FRAME_DURATION decoder ctl()Jean-Marc Valin2012-12-041-1/+10
|