summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Make it possible to ignore inverted phase stereo for downmix purposesexp_bitstream3Jean-Marc Valin2016-08-318-15/+140
|
* Bitstream change: prevent noise injection in hybrid modeJean-Marc Valin2016-08-311-0/+27
| | | | | This makes it possible to use folding rather than LCG noise in the second CELT band (9.6 to 12 kHz) in hybrid mode.
* Add configure option --enable-update-draftJean-Marc Valin2016-08-311-0/+9
|
* Correct multistream variable frame size strideMark Harris2016-08-271-3/+1
| | | | | | | | The multistream encoder input has st->layout.nb_channels channels. The number of channels actually encoded is st->layout.nb_streams + st->layout.nb_coupled_streams, which may be fewer, so ideally it would only analyze those when computing the optimal frame size, but there is no code to do that currently.
* Correct analysis downmix scaling factorMark Harris2016-08-271-4/+4
| | | | Divide by the actual number of channels mixed
* Properly process both channels for DTXJean-Marc Valin2016-08-251-13/+17
| | | | Adding a "channels" argument to compute_frame_energy() and is_digital_silence()
* Make the DC rejection filter Q14 instead of Q15Jean-Marc Valin2016-08-211-2/+2
| | | | This avoids an overflow on extreme signals
* Fixes an overflow in LPC_inverse_pred_gain_QA()Jean-Marc Valin2016-08-171-2/+13
| | | | We now declare that anything that would overflow is not stable enough
* Removed a float operation that sneaked in in the fixed-point codeJean-Marc Valin2016-08-151-0/+4
|
* Oops, fixes the sign in dc_reject()Jean-Marc Valin2016-08-151-3/+3
| | | | Thanks to Mark Harris for pointing it out.
* Implementing compute_frame_energy() from celt_inner_prod() for floatJean-Marc Valin2016-08-151-10/+15
|
* Speeding up PVQ search by allocating even more pulses in the projection.Jean-Marc Valin2016-08-152-4/+6
|
* Reducing the overhead due to dependency chains in dc_reject() for stereoJean-Marc Valin2016-08-151-10/+43
| | | | Gives another ~2% speedup
* Reducing the dependency chain in dc_reject()Jean-Marc Valin2016-08-151-2/+2
| | | | Speeds up the encoder by about 1%
* Apply deemphasis to both channels in the same loop for the simple caseJean-Marc Valin2016-08-141-0/+38
| | | | | This makes the decoder ~2.5% faster on x86 because the stereo loop takes the same processing time as one mono loop due to the dependency chain
* Making gcc use SSE directly for float->int conversion when availableJean-Marc Valin2016-08-131-1/+7
|
* Reducing dependencies in deemphasis()Jean-Marc Valin2016-08-121-2/+2
| | | | | | Reordering the add with VERY_SMALL changes the dependencies cycle from 2 add + 1 mul (11 cycles on haswell) to 1 add + 1 mul (8 cycles). This makes the entire decoder about 1.5% faster.
* Fixes problem with M_PIJean-Marc Valin2016-08-111-2/+3
|
* Making stereo_itheta() use the same atan2() approximation as tonality_analysis()Jean-Marc Valin2016-08-113-24/+37
|
* SSE2 implementation of the PVQ searchJean-Marc Valin2016-08-0910-13/+320
| | | | | We used the SSE reciprocal square root instruction to vectorize the serch rather than compare one at a time with multiplies. Speeds up the entire encoder by 8-10%.
* Making signx[] an int in alg_quant() and removes unnecessary sign copyingJean-Marc Valin2016-08-061-9/+8
| | | | No measurable speed change.
* Speeding up PVQ using unlikely() and moving first position out of the loopJean-Marc Valin2016-08-063-17/+32
| | | | Speeds up encoding by another ~1-2%
* Getting gcc to use cmovs rather than branches in alg_quant()Jean-Marc Valin2016-08-061-8/+7
| | | | Speeds up CELT encoding by around 5% on x86
* biasing quantizationJean-Marc Valin2016-08-051-4/+11
|
* Fixes "mixed declarations and code"Jean-Marc Valin2016-08-051-1/+1
|
* Making it clearer to Coverity that nStates cannot exceed ↵Jean-Marc Valin2016-08-051-1/+1
| | | | NLSF_QUANT_DEL_DEC_STATES
* Weighting theta rdo based on channel energyJean-Marc Valin2016-08-051-2/+28
|
* Fixes overflow in CNGJean-Marc Valin2016-07-301-1/+1
| | | | (found through fuzzing)
* Don't do theta RDO on intensity-stereo-coded bandsJean-Marc Valin2016-07-281-1/+1
|
* Saving the state rather than re-compute the best optionJean-Marc Valin2016-07-281-13/+37
|
* Making stereo theta decision based on minimizing distortionJean-Marc Valin2016-07-284-10/+57
| | | | No point in minimizing the rate too since it's almost constant.
* controlling roundingJean-Marc Valin2016-07-281-2/+10
|
* Properly allocation scratch space for resynth encoderJean-Marc Valin2016-07-281-3/+15
|
* cleanup: putting resynth flag in the contextJean-Marc Valin2016-07-283-45/+17
|
* cleanup: line wrappingJean-Marc Valin2016-07-281-30/+17
|
* Ensure that NLSF cannot be negative when computing a min distance between themFelicia Lim2016-07-281-1/+1
| | | | Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
* appveyor: Package includes and opus.lib as an artifact.Ricardo Constantino (:RiCON)2016-07-271-3/+11
| | | | | | | This lets projects which depend on opus build against our test results. Signed-off-by: Ralph Giles <giles@mozilla.com>
* VS2015: Ignore warning 4146 in celt/kiss_fft.c.Ricardo Constantino (:RiCON)2016-07-271-1/+4
| | | | | | | Warning 4146 is "unary minus operator applied to unsigned type, result still unsigned" Signed-off-by: Ralph Giles <giles@mozilla.com>
* win32/.gitignore: Add DebugDLL_fixed.Ricardo Constantino (:RiCON)2016-07-271-0/+1
| | | | Signed-off-by: Ralph Giles <giles@mozilla.com>
* VS2015: Disable building DebugDLL opus_demo.Ricardo Constantino (:RiCON)2016-07-271-5/+1
| | | | | | This works around the issue with using private symbols. Signed-off-by: Ralph Giles <giles@mozilla.com>
* vs2015: Merge opus dependencies into its project.Ricardo Constantino (:RiCON)2016-07-2719-3428/+2365
| | | | | | | Since DLL builds can't include both fixed and float, separate DLL_fixed configurations added that include fixed silk code and also set FIXED_POINT. Signed-off-by: Ralph Giles <giles@mozilla.com>
* VS2015: Mirror changes in *.mk files from exp_lbr_tune merge.Ricardo Constantino (:RiCON)2016-07-266-24/+4
| | | | Signed-off-by: Ralph Giles <giles@mozilla.com>
* Trim appveyor config.Ralph Giles2016-07-261-7/+1
|
* Add appveyor.yml to test VS2015 builds.Ricardo Constantino (:RiCON)2016-07-261-0/+29
| | | | Signed-off-by: Ralph Giles <giles@mozilla.com>
* VS2015: Suppress a few warnings.Ricardo Constantino (:RiCON)2016-07-269-54/+8
| | | | | | | | | | SDLCheck is a superset of BufferSecurityCheck and is off by default. If it's set, it complains that it's overriden by BufferSecurityCheck. Warning 4996 is already ignored in other binaries (fopen being deprecated and suggesting fopen_s). NoExtensions isn't a valid value for EnableEnhancedInstructionSet in x64 builds.
* Create a simple project to create version.h.Ricardo Constantino (:RiCON)2016-07-268-67/+261
| | | | | | | | | Run before any other project. Avoids trying to create and replace version.h more than once which led to file-locking errors with multicore builds. Signed-off-by: Ralph Giles <giles@mozilla.com>
* Disabling the use of celt_fir() in silk_LPC_analysis_filter() by defaultJean-Marc Valin2016-07-251-2/+9
|
* Fixes an overflow in limit_warped_coefs()Jean-Marc Valin2016-07-251-4/+7
| | | | | For large values of maxabs_Q20, silk_MUL( maxabs_Q20, ind + 1 ) could overflow.
* Move PLC LPC bandwidth expansion before the FIR to avoid overflows in celt_fir()Jean-Marc Valin2016-07-251-17/+17
|
* Fixes commentJean-Marc Valin2016-07-241-1/+1
|