Mercurial > mplayer.hg
comparison libfaad2/filtbank.c @ 10989:3185f64f6350
synced with current cvs
author | alex |
---|---|
date | Fri, 03 Oct 2003 22:23:26 +0000 |
parents | e989150f8216 |
children | 4a370c80fe5c |
comparison
equal
deleted
inserted
replaced
10988:c2bff70784d5 | 10989:3185f64f6350 |
---|---|
20 ** forbidden. | 20 ** forbidden. |
21 ** | 21 ** |
22 ** Commercial non-GPL licensing of this software is possible. | 22 ** Commercial non-GPL licensing of this software is possible. |
23 ** For more info contact Ahead Software through Mpeg4AAClicense@nero.com. | 23 ** For more info contact Ahead Software through Mpeg4AAClicense@nero.com. |
24 ** | 24 ** |
25 ** $Id: filtbank.c,v 1.25 2003/07/29 08:20:12 menno Exp $ | 25 ** $Id: filtbank.c,v 1.1 2003/08/30 22:30:21 arpi Exp $ |
26 **/ | 26 **/ |
27 | 27 |
28 #include "common.h" | 28 #include "common.h" |
29 #include "structs.h" | 29 #include "structs.h" |
30 | 30 |
189 | 189 |
190 switch (window_sequence) | 190 switch (window_sequence) |
191 { | 191 { |
192 case ONLY_LONG_SEQUENCE: | 192 case ONLY_LONG_SEQUENCE: |
193 imdct(fb, freq_in, transf_buf, 2*nlong); | 193 imdct(fb, freq_in, transf_buf, 2*nlong); |
194 for (i = nlong-1; i >= 0; i--) | 194 for (i = 0; i < nlong; i+=4) |
195 { | 195 { |
196 time_out[i] = time_out[nlong+i] + MUL_R_C(transf_buf[i],window_long_prev[i]); | 196 time_out[i] = time_out[nlong+i] + MUL_R_C(transf_buf[i],window_long_prev[i]); |
197 time_out[i+1] = time_out[nlong+i+1] + MUL_R_C(transf_buf[i+1],window_long_prev[i+1]); | |
198 time_out[i+2] = time_out[nlong+i+2] + MUL_R_C(transf_buf[i+2],window_long_prev[i+2]); | |
199 time_out[i+3] = time_out[nlong+i+3] + MUL_R_C(transf_buf[i+3],window_long_prev[i+3]); | |
200 } | |
201 for (i = 0; i < nlong; i+=4) | |
202 { | |
197 time_out[nlong+i] = MUL_R_C(transf_buf[nlong+i],window_long[nlong-1-i]); | 203 time_out[nlong+i] = MUL_R_C(transf_buf[nlong+i],window_long[nlong-1-i]); |
204 time_out[nlong+i+1] = MUL_R_C(transf_buf[nlong+i+1],window_long[nlong-2-i]); | |
205 time_out[nlong+i+2] = MUL_R_C(transf_buf[nlong+i+2],window_long[nlong-3-i]); | |
206 time_out[nlong+i+3] = MUL_R_C(transf_buf[nlong+i+3],window_long[nlong-4-i]); | |
198 } | 207 } |
199 break; | 208 break; |
200 | 209 |
201 case LONG_START_SEQUENCE: | 210 case LONG_START_SEQUENCE: |
202 imdct(fb, freq_in, transf_buf, 2*nlong); | 211 imdct(fb, freq_in, transf_buf, 2*nlong); |
203 for (i = 0; i < nlong; i++) | 212 for (i = 0; i < nlong; i+=4) |
213 { | |
204 time_out[i] = time_out[nlong+i] + MUL_R_C(transf_buf[i],window_long_prev[i]); | 214 time_out[i] = time_out[nlong+i] + MUL_R_C(transf_buf[i],window_long_prev[i]); |
215 time_out[i+1] = time_out[nlong+i+1] + MUL_R_C(transf_buf[i+1],window_long_prev[i+1]); | |
216 time_out[i+2] = time_out[nlong+i+2] + MUL_R_C(transf_buf[i+2],window_long_prev[i+2]); | |
217 time_out[i+3] = time_out[nlong+i+3] + MUL_R_C(transf_buf[i+3],window_long_prev[i+3]); | |
218 } | |
205 for (i = 0; i < nflat_ls; i++) | 219 for (i = 0; i < nflat_ls; i++) |
206 time_out[nlong+i] = transf_buf[nlong+i]; | 220 time_out[nlong+i] = transf_buf[nlong+i]; |
207 for (i = 0; i < nshort; i++) | 221 for (i = 0; i < nshort; i++) |
208 time_out[nlong+nflat_ls+i] = MUL_R_C(transf_buf[nlong+nflat_ls+i],window_short[nshort-i-1]); | 222 time_out[nlong+nflat_ls+i] = MUL_R_C(transf_buf[nlong+nflat_ls+i],window_short[nshort-i-1]); |
209 for (i = 0; i < nflat_ls; i++) | 223 for (i = 0; i < nflat_ls; i++) |