Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | MLP_TRAINING instead of manual comments | Jean-Marc Valin | 2016-11-23 | 1 | -1/+3 |
| | |||||
* | Remove global downsampling state | Jean-Marc Valin | 2016-11-23 | 1 | -3/+2 |
| | |||||
* | Update downmix_float() for 24 kHz analysis (untested) | Jean-Marc Valin | 2016-11-23 | 1 | -7/+14 |
| | |||||
* | Makes the 24kHz analysis downsampling works for fixed-point | Jean-Marc Valin | 2016-11-23 | 1 | -15/+18 |
| | |||||
* | Stop ignoring bandwidth analysis | Jean-Marc Valin | 2016-11-23 | 1 | -1/+1 |
| | |||||
* | Fixing bandwidth detection for 24 kHz analysis | Jean-Marc Valin | 2016-11-23 | 1 | -8/+17 |
| | |||||
* | fix | Jean-Marc Valin | 2016-11-23 | 1 | -0/+1 |
| | |||||
* | disable some analysis | Jean-Marc Valin | 2016-11-23 | 1 | -1/+1 |
| | |||||
* | first hack seems to be working | Jean-Marc Valin | 2016-11-23 | 1 | -8/+12 |
| | |||||
* | wip | Jean-Marc Valin | 2016-11-23 | 1 | -0/+43 |
| | |||||
* | Remove redundant code | Mark Harris | 2016-11-05 | 1 | -6/+1 |
| | | | | | | frame_size_select() ensures that frame_size is a valid size or -1, !st->variable_duration is always false, and delay_compensation is no longer needed to choose the frame size. | ||||
* | Fix crash on bad encoder frame_size argument | Mark Harris | 2016-11-05 | 1 | -2/+10 |
| | |||||
* | Removes OPUS_FRAMESIZE_VARIABLE | Jean-Marc Valin | 2016-11-04 | 1 | -292/+6 |
| | | | | That experiment never actually worked | ||||
* | Reduce redundancy when SILK uses too many bits | Mark Harris | 2016-11-02 | 1 | -24/+12 |
| | | | | | | | | Fix Hybrid redundancy assertion failure in ec_enc_shrink(), even if SILK produces more than maxBits, by reducing or eliminating redundancy when necessary. Don't reserve space for redundancy that is too small to be used for redundancy. When there is not enough space for redundancy, allow the regular frame to use all the bits. | ||||
* | Fix redundancy on SILK 80+ms bandwidth switch | Mark Harris | 2016-11-02 | 1 | -20/+17 |
| | | | | | | With packets of 80 ms or more, a SILK bandwidth switch was missing the second half of the redundancy, because st->silk_bw_switch was cleared too early before any recursive calls. | ||||
* | Fix CBR packet sizes for 80 ms | Felicia Lim | 2016-10-28 | 1 | -5/+4 |
| | | | | | | Also clean up comments from the last patches Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca> | ||||
* | Update bandwidth and opusCanSwitch before generating SILK DTX ToC | Felicia Lim | 2016-10-27 | 1 | -7/+10 |
| | | | | Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca> | ||||
* | Encode correct headers when asking for very small output bytes and using ↵ | Felicia Lim | 2016-10-27 | 1 | -3/+47 |
| | | | | | | long frames Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca> | ||||
* | Support encoding 80/100/120 ms frame lengths | Felicia Lim | 2016-10-27 | 1 | -49/+80 |
| | | | | Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca> | ||||
* | Move multiframe encoding into a separate function | Felicia Lim | 2016-10-27 | 1 | -61/+101 |
| | | | | Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca> | ||||
* | Account for redundancy signalling when computing st->silk_mode.maxBits | Jean-Marc Valin | 2016-10-27 | 1 | -4/+11 |
| | | | | | | Without that, we could bust the budget and end up with the if (ec_tell(&enc) <= 8*nb_compr_bytes) being false, followed by an assert failure later. | ||||
* | Using OPUS_MOVE() instead of OPUS_COPY() to move redundancy bytes | Jean-Marc Valin | 2016-09-20 | 1 | -1/+1 |
| | | | | memcpy() aliasing bug caught by Felicia's encoder fuzzing test | ||||
* | Fixing failure due to CBR allocating zero byte to a stream | Jean-Marc Valin | 2016-09-14 | 1 | -1/+4 |
| | |||||
* | Fixes an internal error in the Opus encoder | Jean-Marc Valin | 2016-09-07 | 1 | -0/+7 |
| | | | | | The encoder would reserve bytes for redundancy and then decide to use CELT, but not use those bytes. | ||||
* | Make it possible to ignore inverted phase stereo for downmix purposesexp_bitstream7 | Jean-Marc Valin | 2016-09-01 | 1 | -0/+20 |
| | |||||
* | Correct analysis downmix scaling factor | Mark Harris | 2016-08-27 | 1 | -4/+4 |
| | | | | Divide by the actual number of channels mixed | ||||
* | Properly process both channels for DTX | Jean-Marc Valin | 2016-08-25 | 1 | -13/+17 |
| | | | | Adding a "channels" argument to compute_frame_energy() and is_digital_silence() | ||||
* | Make the DC rejection filter Q14 instead of Q15 | Jean-Marc Valin | 2016-08-21 | 1 | -2/+2 |
| | | | | This avoids an overflow on extreme signals | ||||
* | Oops, fixes the sign in dc_reject() | Jean-Marc Valin | 2016-08-15 | 1 | -3/+3 |
| | | | | Thanks to Mark Harris for pointing it out. | ||||
* | Implementing compute_frame_energy() from celt_inner_prod() for float | Jean-Marc Valin | 2016-08-15 | 1 | -10/+15 |
| | |||||
* | Reducing the overhead due to dependency chains in dc_reject() for stereo | Jean-Marc Valin | 2016-08-15 | 1 | -10/+43 |
| | | | | Gives another ~2% speedup | ||||
* | Reducing the dependency chain in dc_reject() | Jean-Marc Valin | 2016-08-15 | 1 | -2/+2 |
| | | | | Speeds up the encoder by about 1% | ||||
* | Silence fixed point unused parameter warning | Mark Harris | 2016-07-21 | 1 | -0/+1 |
| | |||||
* | Fix use_dtx for DISABLE_FLOAT_API | Felicia Lim | 2016-07-20 | 1 | -3/+7 |
| | | | | Signed-off-by: Timothy B. Terriberry <tterribe@xiph.org> | ||||
* | Tune SILK rate for hybrid with FEC enabled | Jean-Marc Valin | 2016-07-19 | 1 | -11/+14 |
| | |||||
* | Moving FEC decision to the Opus encoder level (from SILK level) | Jean-Marc Valin | 2016-07-19 | 1 | -0/+43 |
| | |||||
* | Taking loss rate into account in compute_equiv_rate() | Jean-Marc Valin | 2016-07-19 | 1 | -5/+8 |
| | |||||
* | Oops, edited the wrong comment in the previous commit | Jean-Marc Valin | 2016-07-19 | 1 | -2/+2 |
| | |||||
* | Re-tuning compute_equiv_rate() | Jean-Marc Valin | 2016-07-19 | 1 | -4/+4 |
| | |||||
* | Getting rid of the SILK penalty for hybrid CBR. | Jean-Marc Valin | 2016-07-19 | 1 | -2/+2 |
| | | | | That was likely a mistake from a misunderstanding on the SILK bit allocation | ||||
* | Improving CBR for hybrid mode | Jean-Marc Valin | 2016-07-19 | 1 | -6/+13 |
| | | | | | | | Hybrid CBR now simply forces the SILK CBR rate to the "target" value. Also, we're getting rid of the -2 kb/s offset for CBR, which appeared to be harmful. In the case of hybrid constrained VBR, the cap is computed in the same way as the target. | ||||
* | Making the encoder more aggressive at using wider bandwidths | Jean-Marc Valin | 2016-07-19 | 1 | -17/+17 |
| | |||||
* | We should now be able to be less conservative when using CBR | Jean-Marc Valin | 2016-07-17 | 1 | -7/+5 |
| | |||||
* | Fixing bandwidth selection hysteresis | Jean-Marc Valin | 2016-07-17 | 1 | -2/+4 |
| | | | | | | Previously, the bandwidth detection could (e.g.) change the bandwidth from fullband to superwideband, and the hysteresis would then cause bandwidth to be stuck in superwideband. | ||||
* | Turn on DTX only when the noise is sufficiently quiet | Felicia Lim | 2016-07-17 | 1 | -3/+52 |
| | | | | | | | | Computes a pseudo SNR as the ratio between the running peak signal energy to instantaneous noise energy. DTX is turned on only if this is higher than a pre-determined threshold. Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca> | ||||
* | New DTX that works in all modes (SILK/CELT/HYBRID) | Felicia Lim | 2016-07-17 | 1 | -3/+54 |
| | | | | | | | | | | | A frame is marked as valid for DTX if it contains noise or only digital silence. As before, there is an overhang period of 200 ms and a maximum consecutive DTX period of 400 ms. If the new DTX cannot be used because of the complexity setting and sampling frequency chosen, the SILK DTX will be used instead. Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca> | ||||
* | Skip analysis if the frame contains only digital silence | Felicia Lim | 2016-07-17 | 1 | -7/+38 |
| | | | | Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca> | ||||
* | Quality: Increase CELT rate for voiced frames in hybrid mode | Jean-Marc Valin | 2016-07-17 | 1 | -0/+8 |
| | |||||
* | Better modeling of the effect of CBR and complexity | Jean-Marc Valin | 2016-07-17 | 1 | -13/+42 |
| | | | | | Should be able to make better mode/bandwidth decisions when CBR/complexity are involved. | ||||
* | Re-enabling high-band attenuation for hybrid mode | Jean-Marc Valin | 2016-07-17 | 1 | -5/+1 |
| | | | | The new attenuation is much smaller than previously. |