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-07-03Adds some checks to the surround APIv1.0.31.0.xJean-Marc Valin
2013-07-01Increasing the bitrate of LFEJean-Marc Valin
The 1.0.x branch doesn't have all the LFE optimizations that master has.
2013-07-01Backport of the new surround API to 1.0.xJean-Marc Valin
2013-06-30Use __declspec(dllexport) on mingw build.Jacek Caban
Signed-off-by: Gregory Maxwell <greg@xiph.org>
2013-05-19Change few remaining instances of short to opus_int16Jean-Marc Valin
2013-05-19celt_maxabs16() now returns an opus_val32 to avoid problems with -32768Jean-Marc Valin
2013-05-19A fixed shift factor was insufficient to properly estimate the decayJean-Marc Valin
factor, resulting in extreme attenuation of the PLC excitation.
2013-05-19Saturates the last RC to 0.99 when Schur blows upJean-Marc Valin
This is a follow-up on ac76b15. When Schur blows up, we set the last RC to +/- 0.99 instead of eliminating it.
2013-05-19Fixes an assertion failure in SILKJean-Marc Valin
We stop the schur recursion before any reflection coefficient goes outside of ]-1,1[ and we force reporting a residual energy of at least 1. Assertion was: Fatal (internal) error in ../silk/fixed/noise_shape_analysis_FIX.c, line 290: assertion failed: nrg >= 0 triggered by: opus_demo voip 16000 1 12500 -bandwidth WB -complexity 10 pl04f087.stp-crash out.pcm
2013-05-18Use m4_esyscmd instead of m4_esyscmd_sRon
We shouldn't ever have any trailing newlines that need trimming here, and the _s version wasn't added to m4sugar.m4 until autoconf 2.63b, so this will let it work with 2.13 again. (cherry picked from commit 918acd1564a38c61f3cb2392d3b38f1539f14eda)
2013-05-12Don't repeatedly install the doc dir for every fileRon
(cherry picked from commit 3e6691a703c5139d3052b99c1d9e6331c84e1b7e)
2013-05-12Remove opus_compare.o in Makefile.unix clean tooRon
It breaks the autoconf builds amusingly when that is left behind. (cherry picked from commit 8f486e730cdbcdaab08e5d4352a0a1d35a7f7aba)
2013-05-11More gitignoranceRon
2013-05-11Don't fail hard if package_version does not existRon
There's currently at least one way that people can legitimately get a tarball that doesn't include it, via the gitweb snapshots, so create it rather than considering that an error to be manually fixed. (cherry picked from commit 8d925ec2543a57ea48dad576b00bd14dbc4c817e)
2013-05-10More Makefile.unix tweaksRon
Drop some unneeded CINCLUDES. Drop the VPATH stuff altogether. It's entirely unused here, and some of the paths in it don't even exist and apparently never have in this tree. Drop the 'default' rule, without it there, 'all' already is the default. Drop $(TARGET) from all, it already includes 'lib' which is $(TARGET). Declare phony targets PHONY. (cherry picked from commit 8ee899b62a4a11a49060a810e39dd75a874ccaaf)
2013-05-10Fully automate version updatingRon
This one meets or exceeds the following requirements: - Version is checked/updated for every build action when in the git repo. Does not require the user to re- ./configure to get the correct version. - Version is not updated automatically when using exported tarball source. Avoids accidentally getting a wrong version from some other git repo in a parent directory of the source, and allows setting the correct version for distro package exports. - Automatic updating can be manually suppressed. For developers doing lots of change/rebuild cycles they don't plan to release, when they don't want a full rebuild triggered for every commit, and again for every change made immediately after a commit. The version will still always be updated if they do a `make dist`. - Does not require any manual updating of versions in the mainline git repo for each release aside from normal tagging. The version is recorded in one file only, that is automatically generated and will never need to be committed. - Does not require gnu-make features for the autoconf builds. It does not currently: - Keep a checksum of every source file in tarball releases to mangle the version if people modify the tarball source. Responsible people can manually update the version easily though in such cases. The version.mk file is now only used by the VC project files. Once they are updated to use the package_version file too, then it can be deleted from the repository. Backported from 2f2f9d63b84d0eacdf66c03b683b932b367b017e.
2013-05-10Fix several memory errors in the SILK resampler.Timothy B. Terriberry
1) The memcpy's were using sizeof(opus_int32), but the type of the local buffer was opus_int16. 2) Because the size was wrong, this potentially allowed the source and destination regions of the memcpy overlap. I _believe_ that nSamplesIn is at least fs_in_khZ, which is at least 8. Since RESAMPLER_ORDER_FIR_12 is only 8, I don't think that's a problem once you fix the type size. 3) The size of the buffer used RESAMPLER_MAX_BATCH_SIZE_IN, but the data stored in it was actually _twice_ the input batch size (nSamplesIn<<1). Because this never blew up in testing, I suspect that in practice the batch sizes are reasonable enough that none of these things was ever a problem, but proving that seems non-obvious. This patch just converts the whole thing to use CELT's vararrays. This fixes the buffer size problems (since we allocate a buffer with the actual size we use) and gets these large buffers off the stack on devices using the pseudo-stack. It also fixes the memcpy problems by changing the sizeof to opus_int16. It turns out sFIR, which saved state between calls, was being used elsewhere as opus_int32, so this converts it to a union to make this sharing explicit.
2013-05-08Bump version numbersJean-Marc Valin
2013-05-08Fixes a bandwidth decision issueJean-Marc Valin
In cases where the SILK desired bandwidth went down, then quickly up, we count get stuck in a mode with the LP variation going the wrong way. packport of the relevant part of 3ecd9c20cbc77e8
2013-05-08Fixes FEC issues introduced in 7fcd66cJean-Marc Valin
This left FEC disabled on the decoder side for all cases except concatenated packets. Also fixes a FEC bug in opus_demo (wrong output buffer size calculation). Conflicts: src/opus_decoder.c
2013-05-08Fixes a minor glitch on SILK bandwidth changesJean-Marc Valin
We weren't doing the prefilling for SILK->SILK transitions.
2013-02-08Fixes a SILK fixed-point encoder issue reported by Cliff Parris ↵Jean-Marc Valin
<cliff@espico.com>
2013-02-08Fixes a minor CELT->SILK switching glitch in the decoderJean-Marc Valin
By not reinitializing the stereo state during a switch, the old stereo memory would create a false impulse (i.e. single sample) in the decoded audio. This change affects the normative part of the decoder. Fortunately, the modified decoder is still compliant with the specification because it still easily passes the testvectors. For example, for the float decoder at 48 kHz, the opus_compare (arbitrary) "quality score" changes from from 99.9333% to 99.925%.
2013-01-03Use AC_CONFIG_HEADERS.Ralph Giles
This avoids a warning about obsolete AM_CONFIG_HEADERS() on more recent autoconf. The new macro has been around at least since autoconf 2.60. So this should be safe.
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-07Remove the obsolete CELT_BUILD define from win32/config.h.Ralph Giles
2012-12-06Add tests for GET_LAST_PACKET_DURATION.v1.0.2Gregory Maxwell
Also remove a useless extern that crept into the tests from some optimization driven testcase generation.
2012-12-06Fixes OPUS_GET_LAST_PACKET_DURATIONJean-Marc Valin
Calling PLC/FEC with a different size was not updating it Fixed a case of confusing indenting in the process of backporting. Conflicts: src/opus_decoder.c
2012-12-06Add missing packet_get_nb_samples test coverage and fix test output.Gregory Maxwell
2012-12-06Also update the Microsoft patent license link in COPYING.Ralph Giles
In this case I just replaced the Skype link.
2012-12-05Link to the new Microsoft patent license.Ralph Giles
This applies in addition to the earlier grant made by Skype, which was purchased by Microsoft.
2012-12-05Bump version numbersJean-Marc Valin
2012-12-05Implements opus_packet_get_nb_samples()Jean-Marc Valin
2012-12-05Implements OPUS_GET_LAST_FRAME_DURATION decoder ctl()Jean-Marc Valin
Backport of commit 512d849 Conflicts: src/opus_multistream_decoder.c
2012-12-05Don't update the internal decoder state until we know the packet is validJean-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. This is a backport of commit 7fcd66c (plus fix in 8c9c9b2) Conflicts: src/opus_decoder.c
2012-12-04Remove an unused variable.Ralph Giles
Fixes an MSVC warning.
2012-12-04Remove MSVC incremental linking directives.Ralph Giles
This avoids linker errors with VS2010 of the form failure during conversion to COFF: invalid file or corrupt [c:\users\giles\opus\source\opus_demo.vcxproj] The problem does not occur if the project files are updated to build under VS2012.
2012-12-04Fixes many many issues in the CELT PLCJean-Marc Valin
Backport of e0491e7d18038b4bcd21c290dae51dfe019977ef Previous code was so broken that it's`not worth listing the changes. Aside from quality, one obvious improvement is a 3.75k reduction in stack size Also brings in some indirection removals and another PLC fix from 4ea3ae9af77d23c71a84ae50e0a411afa66a0463
2012-12-03Fix packet length handling for 16-bit machines (makes no difference on 32-bit)Jean-Marc Valin
2012-12-01Fixes an out-of-bounds read issue with the padding handling codeJean-Marc Valin
This was reported by Juri Aedla and is limited to reading memory up to about 60 kB beyond the compressed buffer. This can only be triggered by a compressed packet more than about 16 MB long, so it's not a problem for RTP. In theory, it *could* crash an Ogg decoder if the memory just after the incoming packet is out-of-range.
2012-11-30Remove obsolete check for endianness.Ralph Giles
We don't ever use the WORDS_BIGENDIAN cpp symbol in our code.
2012-11-29Improve the !OPUS_BUILD #error.Ralph Giles
The README doesn't say anything about this particular define. Refer people to config.h and the other build files for examples.
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-29Remove obsolete #ifdef OPUS_BUILD.Ralph Giles
We always define OPUS_BUILD, so this code has no effect. Likewise there is no reason for it to be conditional. According to Jean-Marc it's left over from when we had an alternate CELT_BUILD define. Backport of 83f8012ca572 on master.
2012-11-29Guard _BitScanReverse on MSVC so that MSVC 6 doesn't break.Gregory Maxwell
This also adds some extra casts to shut up compiler warnings reported on MSVC 6 where there is implicit truncation for the arguments of bitexact_cos(). Lacking access to CLZ/BSR will make the code a fair bit slower but that is better than failing to compile.
2012-11-16Fixes a quant_coarse_energy() hybrid mode bugJean-Marc Valin
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.
2012-11-16Fixes a bug where transient frames would use previous spreadingJean-Marc Valin
Also forces SPREAD_NORMAL in hybrid mode Backported from master commit 1fd1d7dd49c34c7d64bf26f60782afc17dab6842
2012-11-15Disables tf_analysis() for hybrid modeJean-Marc Valin
This prevents issues on speech where tf would undo what transient_analysis() found Backported/adapted from master commit a6d663c6ae089b0a9682c848f3ff7701b316526f
2012-11-15Attempt to have at least two bands that are codedJean-Marc Valin
This fixes a SWB hybrid issue where band 18 isn't folded and cannot even be folded because it's wider than band 17. This was causing noise to be injected instead.