From f5b7a29ae893add491397bebe6f4cc5deec2d480 Mon Sep 17 00:00:00 2001 From: Rostislav Pehlivanov Date: Thu, 26 Nov 2015 18:20:42 +0000 Subject: [PATCH] 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 --- libavcodec/aacenc_ltp.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) 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];