summaryrefslogtreecommitdiff
path: root/apps/codecs/libfaad/sbr_qmf.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/codecs/libfaad/sbr_qmf.c')
-rw-r--r--apps/codecs/libfaad/sbr_qmf.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/apps/codecs/libfaad/sbr_qmf.c b/apps/codecs/libfaad/sbr_qmf.c
index 85dc60ca3b..3759329c3c 100644
--- a/apps/codecs/libfaad/sbr_qmf.c
+++ b/apps/codecs/libfaad/sbr_qmf.c
@@ -109,9 +109,19 @@ void sbr_qmf_analysis_32(sbr_info *sbr, qmfa_info *qmfa, const real_t *input,
109 } 109 }
110 110
111 /* window and summation to create array u */ 111 /* window and summation to create array u */
112 for (n = 0; n < 64; n++) 112 for (n = 0; n < 32; n++)
113 {
114 idx0 = qmfa->x_index + n; idx1 = n * 20;
115 u[n] = FAAD_ANALYSIS_SCALE1(
116 MUL_F(qmfa->x[idx0 ], qmf_c[idx1 ]) +
117 MUL_F(qmfa->x[idx0 + 64], qmf_c[idx1 + 2]) +
118 MUL_F(qmfa->x[idx0 + 128], qmf_c[idx1 + 4]) +
119 MUL_F(qmfa->x[idx0 + 192], qmf_c[idx1 + 6]) +
120 MUL_F(qmfa->x[idx0 + 256], qmf_c[idx1 + 8]));
121 }
122 for (n = 32; n < 64; n++)
113 { 123 {
114 idx0 = qmfa->x_index + n; idx1 = n * 10; 124 idx0 = qmfa->x_index + n; idx1 = n * 20 - 639;
115 u[n] = FAAD_ANALYSIS_SCALE1( 125 u[n] = FAAD_ANALYSIS_SCALE1(
116 MUL_F(qmfa->x[idx0 ], qmf_c[idx1 ]) + 126 MUL_F(qmfa->x[idx0 ], qmf_c[idx1 ]) +
117 MUL_F(qmfa->x[idx0 + 64], qmf_c[idx1 + 2]) + 127 MUL_F(qmfa->x[idx0 + 64], qmf_c[idx1 + 2]) +