diff options
author | Rostislav Pehlivanov <atomnuker@gmail.com> | 2015-11-26 18:20:42 +0000 |
---|---|---|
committer | Rostislav Pehlivanov <atomnuker@gmail.com> | 2015-11-26 18:20:42 +0000 |
commit | f5b7a29ae893add491397bebe6f4cc5deec2d480 (patch) | |
tree | f753a01e502773492ea22e658c02797316fc4f5e /libavcodec | |
parent | 1e5dbb3409ccb47500c56b9746610bb75445a81b (diff) | |
download | ffmpeg-f5b7a29ae893add491397bebe6f4cc5deec2d480.tar.gz |
aac_ltp: actually signal LTP as off during EIGHT_SHORT windows
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>
Diffstat (limited to 'libavcodec')
-rw-r--r-- | libavcodec/aacenc_ltp.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/libavcodec/aacenc_ltp.c b/libavcodec/aacenc_ltp.c index 5aaaf6f034..e19f3cc2d7 100644 --- a/libavcodec/aacenc_ltp.c +++ b/libavcodec/aacenc_ltp.c @@ -135,8 +135,10 @@ void ff_aac_adjust_common_ltp(AACEncContext *s, ChannelElement *cpe) if (!cpe->common_window || sce0->ics.window_sequence[0] == EIGHT_SHORT_SEQUENCE || - sce1->ics.window_sequence[0] == EIGHT_SHORT_SEQUENCE) + sce1->ics.window_sequence[0] == EIGHT_SHORT_SEQUENCE) { + sce0->ics.ltp.present = 0; return; + } for (sfb = 0; sfb < FFMIN(sce0->ics.max_sfb, MAX_LTP_LONG_SFB); sfb++) { int sum = sce0->ics.ltp.used[sfb] + sce1->ics.ltp.used[sfb]; |