summaryrefslogtreecommitdiff
path: root/libavcodec/aacenc_ltp.c
Commit message (Collapse)AuthorAge
* aacenc_ltp: disable LTP with high lambda valuesRostislav Pehlivanov2015-12-08
| | | | | | Makes no sense to enable for high bitrates, the coder does well enough. Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
* aacenc_ltp: fix out of bounds memory accessRostislav Pehlivanov2015-12-03
| | | | Discovered by Coverity.
* aac_ltp: actually signal LTP as off during EIGHT_SHORT windowsRostislav Pehlivanov2015-11-26
| | | | | | | | This hugely reduces the echo which was introduced with the previous commit (though likely because previously everything was broken). Makes LTP actually worthwhile now. Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
* aac_ltp: split, reorder and improve prediction algorithmRostislav Pehlivanov2015-11-26
| | | | | This commit attempts to mirror what the decoder does more closely in addition to fixing some shortcomings.
* aacenc_ltp: adjust and speed up autocorrelation calculationsRostislav Pehlivanov2015-10-17
| | | | | | | There were some errors in the calculation as well as an entire unnecessary loop to find the gain coefficient. Merge the two loops. Thanks to @ubitux for the suggestions and testing.
* aacenc_ltp: correct header description commentRostislav Pehlivanov2015-10-17
|
* aacenc_ltp: replace av_clip() with av_clip_uintp2()Rostislav Pehlivanov2015-10-17
| | | | | Suggested by ubitux. Convenient.
* aacenc_ltp: fix assertionRostislav Pehlivanov2015-10-17
| | | | A value of 2048 will overflow 11 bits.
* aacenc: add support for encoding files using Long Term PredictionRostislav Pehlivanov2015-10-17
Long Term Prediction allows for prediction of spectral coefficients via the previously decoded time-dependent samples. This feature works well with harmonic content 2 or more frames long, like speech, human or non-human, piano music or any constant tones at very low bitrates. It should be noted that the current coder is highly efficient and the rate control system is unable to encode files at extremely low bitrates (less than 14kbps seems to be impossible) so this extension isn't capable of optimum operation. Dramatic difference is observable with some types of audio and speech but for the most part the audiable differences are subtle. The spectrum looks better however so the encoder is able to harvest the additional bits that this feature provies, should the user choose to enable it. So it's best to enable this feature only if encoding at the absolutely lowest bitrate that the encoder is capable of.