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-05-07Revisit surround rate allocationsurroundJean-Marc Valin
Stereo now gets twice the "marginal allocation" compared to mono, but has a 20 kb/s offset. This should be more realistic across a wide range of bitrates.
2013-05-07Adds spreading to the surround masking computationJean-Marc Valin
This avoids a single low-energy band from changing the masking results.
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-05Adds support for all Vorbis mappingsJean-Marc Valin
2013-05-05More forced decisions in CELT LFE encodingJean-Marc Valin
2013-05-05Surround: Better LFE handlingJean-Marc Valin
Forces CELT-only mode for LFE (despite the rate) and "locks" most of the CELT analysis: - No transient or TF - Band boost on first band - Only first two bands get PVQ bits - Forced energy decay after the first two bands
2013-05-05Initial surround code with new APIJean-Marc Valin
Conflicts: src/opus_multistream_encoder.c
2013-05-05Fixes missing initialization in OpusMSEncoderJean-Marc Valin
Problem found using valgrind.
2013-04-23Fixes 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).
2013-04-20VBR bitrate calibration for variable duration.Jean-Marc Valin
Also fixes uninitialized value in previous commit.
2013-04-19Variable framesize improvementsJean-Marc Valin
- Properly apply the transient boost by counting all the bits in the cost - Disable the post-filter for non-20-ms frames that follow a transient (applies only to variable framesize)
2013-04-15Converts the analysis to ALLOC()Jean-Marc Valin
2013-04-15Fixes a minor bug found by valgrind in the bandwidth detectorJean-Marc Valin
The energy calculation from the packed FFTs ended up reading out-of-bound memory for frequency zero. The bug was exposed by c5e04e4.
2013-04-06Random complexity in the encoder tests.Gregory Maxwell
2013-03-19Fix some 16-bit int issues in the multistream API.Timothy B. Terriberry
With 120 ms frames and 6 or more channels, the total number of samples in the buffer could overflow.
2013-03-19Minor soft clipping doc fixJean-Marc Valin
2013-03-13Remove -Wdeclaration-after-statement.Ralph Giles
This causes warnings with the ALLOC() macro.
2013-03-12Makes bandwidth detection less aggressive.Jean-Marc Valin
The original code was causing parts of a sine sweep to be completely dropped due to the 300 Hz margin and the hysteresis. Also, fixes scaling for the analysis downmix when the input is 16-bit PCM.
2013-03-12Fixes a minor glitch on SILK bandwidth changesJean-Marc Valin
We weren't doing the prefilling for SILK->SILK transitions.
2013-03-11Add -Wdeclaration-after-statement.Ralph Giles
We keep accidentally adding these which break the -pedantic build, so complain about it in the normal build. Also de-duplicate the warning list.
2013-03-11High-band attenuation tuning for hybrid modeKoen Vos
Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
2013-03-11Fixes pseudo-stackJean-Marc Valin
2013-03-11Fixes OPUS_SET_EXPERT_FRAME_DURATION_REQUEST for multi-streamTaihei Momma
Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
2013-03-11Fixes C90 issues for obsolete compilersRobert Meakins
Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
2013-03-11Adds stereo width computationJean-Marc Valin
Using this to change the encoder based on mono/stereo rather than looking at the number of input channels.
2013-03-08Merge branch 'exp_analysis'Jean-Marc Valin
Conflicts: celt/celt_encoder.c
2013-03-08Making CELT stereo<->mono transitions gradualJean-Marc Valin
This not only avoids sudden changes in audio quality, but also increases quality when we don't have enough bits to code a wide stereo image.
2013-03-08Documentation fixesJean-Marc Valin
Improved version of: https://github.com/berkus/mettanode/commit/f44b28ab56ce8afa4b9d8c7460b184197519281c
2013-03-05test_opus_decode: force integer constants unsignedJames Zern
Quiets: warning: this decimal constant is unsigned only in ISO C90 when building with e.g., gcc -m32 -std=gnu90
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-03-01Makes the speech/music probability estimation mode conservativeexp_analysisJean-Marc Valin
This is done using an adaptive beta and an estimate of the speech and music detection confidence
2013-02-23Adds silence probability to speech/music detectorJean-Marc Valin
Avoids biasing the decision when it's all silence/noise.
2013-02-21oops s/IMAX/IMIN/Jean-Marc Valin
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-19Fixes a bug introduced in 851f803Jean-Marc Valin
2013-02-19Fixes two bandwidth decision issuesJean-Marc Valin
1) 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. 2) Bandwidth detection can no longer force SILK to go below wideband to avoid switches that require redundancy.
2013-02-18Moves mono downmixing and upsampling to the compute_mdcts()Jean-Marc Valin
2013-02-18Adds code to revise the transient decision using the band energyJean-Marc Valin
Detects a transient when the average band energy jumps by more than 6 dB between two consecutive frames. This fixes some undetected transients on Gainless' Muse_Breaks_Rmx sample.
2013-02-11Making multistream variable duration work for both the float and int APIJean-Marc Valin
2013-02-11No need for extra_buffer anymoreJean-Marc Valin
2013-02-11Better handling of the multistream bitrateJean-Marc Valin
Now supports OPUS_AUTO and OPUS_BITRATE_MAX
2013-02-11Multistream support for variable frame durationJean-Marc Valin
Also fixes a bug with stereo streams where the initial memory was only using the left channel.
2013-02-11Makes variable framesize less aggressive at lower ratesJean-Marc Valin
2013-02-11Re-enable analysis for 40- and 60-ms framesJean-Marc Valin
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.
2013-02-10Makes opus_demo rubust to the encoder using variable frame durationJean-Marc Valin
Also, the encode+decode mode now produces an output of the same size as the original.
2013-02-10Running transient_analysis() even for 2.5 ms framesJean-Marc Valin
This means 2.5 ms frames can now use a higher bitrate for transients.
2013-02-10Makes analysis usable for all frame sizesJean-Marc Valin
2013-02-10Moves analysis to the beginning of opus_encode()Jean-Marc Valin