summaryrefslogtreecommitdiff
path: root/libavcodec/aacenc_tns.c
diff options
context:
space:
mode:
Diffstat (limited to 'libavcodec/aacenc_tns.c')
-rw-r--r--libavcodec/aacenc_tns.c19
1 files changed, 5 insertions, 14 deletions
diff --git a/libavcodec/aacenc_tns.c b/libavcodec/aacenc_tns.c
index 694fbb99e0..85fcb0f33b 100644
--- a/libavcodec/aacenc_tns.c
+++ b/libavcodec/aacenc_tns.c
@@ -107,7 +107,7 @@ void ff_aac_apply_tns(AACEncContext *s, SingleChannelElement *sce)
IndividualChannelStream *ics = &sce->ics;
int w, filt, m, i, top, order, bottom, start, end, size, inc;
const int mmm = FFMIN(ics->tns_max_bands, ics->max_sfb);
- float lpc[TNS_MAX_ORDER], tmp[TNS_MAX_ORDER+1];
+ float lpc[TNS_MAX_ORDER];
for (w = 0; w < ics->num_windows; w++) {
bottom = ics->num_swb;
@@ -133,19 +133,10 @@ void ff_aac_apply_tns(AACEncContext *s, SingleChannelElement *sce)
}
start += w * 128;
- if (!s->options.ltp) { // ar filter
- for (m = 0; m < size; m++, start += inc) {
- for (i = 1; i <= FFMIN(m, order); i++) {
- sce->coeffs[start] += lpc[i-1]*sce->pcoeffs[start - i*inc];
- }
- }
- } else { // ma filter
- for (m = 0; m < size; m++, start += inc) {
- tmp[0] = sce->pcoeffs[start];
- for (i = 1; i <= FFMIN(m, order); i++)
- sce->coeffs[start] += lpc[i-1]*tmp[i];
- for (i = order; i > 0; i--)
- tmp[i] = tmp[i - 1];
+ /* AR filter */
+ for (m = 0; m < size; m++, start += inc) {
+ for (i = 1; i <= FFMIN(m, order); i++) {
+ sce->coeffs[start] += lpc[i-1]*sce->pcoeffs[start - i*inc];
}
}
}