diff options
Diffstat (limited to 'apps/codecs/libfaad/filtbank.c')
-rw-r--r-- | apps/codecs/libfaad/filtbank.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/apps/codecs/libfaad/filtbank.c b/apps/codecs/libfaad/filtbank.c index 13cc265e21..603e02fa86 100644 --- a/apps/codecs/libfaad/filtbank.c +++ b/apps/codecs/libfaad/filtbank.c | |||
@@ -159,13 +159,14 @@ static INLINE void mdct(fb_info *fb, real_t *in_data, real_t *out_data, uint16_t | |||
159 | } | 159 | } |
160 | #endif | 160 | #endif |
161 | 161 | ||
162 | ALIGN real_t transf_buf[2*1024] = {0}; | ||
163 | |||
162 | void ifilter_bank(fb_info *fb, uint8_t window_sequence, uint8_t window_shape, | 164 | void ifilter_bank(fb_info *fb, uint8_t window_sequence, uint8_t window_shape, |
163 | uint8_t window_shape_prev, real_t *freq_in, | 165 | uint8_t window_shape_prev, real_t *freq_in, |
164 | real_t *time_out, real_t *overlap, | 166 | real_t *time_out, real_t *overlap, |
165 | uint8_t object_type, uint16_t frame_len) | 167 | uint8_t object_type, uint16_t frame_len) |
166 | { | 168 | { |
167 | int16_t i; | 169 | int16_t i; |
168 | ALIGN real_t transf_buf[2*1024] = {0}; | ||
169 | 170 | ||
170 | const real_t *window_long = NULL; | 171 | const real_t *window_long = NULL; |
171 | const real_t *window_long_prev = NULL; | 172 | const real_t *window_long_prev = NULL; |
@@ -182,6 +183,7 @@ void ifilter_bank(fb_info *fb, uint8_t window_sequence, uint8_t window_shape, | |||
182 | int64_t count = faad_get_ts(); | 183 | int64_t count = faad_get_ts(); |
183 | #endif | 184 | #endif |
184 | 185 | ||
186 | memset(transf_buf,0,sizeof(transf_buf)); | ||
185 | /* select windows of current frame and previous frame (Sine or KBD) */ | 187 | /* select windows of current frame and previous frame (Sine or KBD) */ |
186 | #ifdef LD_DEC | 188 | #ifdef LD_DEC |
187 | if (object_type == LD) | 189 | if (object_type == LD) |
@@ -331,13 +333,13 @@ void ifilter_bank(fb_info *fb, uint8_t window_sequence, uint8_t window_shape, | |||
331 | 333 | ||
332 | 334 | ||
333 | #ifdef LTP_DEC | 335 | #ifdef LTP_DEC |
336 | ALIGN real_t windowed_buf[2*1024] = {0}; | ||
334 | /* only works for LTP -> no overlapping, no short blocks */ | 337 | /* only works for LTP -> no overlapping, no short blocks */ |
335 | void filter_bank_ltp(fb_info *fb, uint8_t window_sequence, uint8_t window_shape, | 338 | void filter_bank_ltp(fb_info *fb, uint8_t window_sequence, uint8_t window_shape, |
336 | uint8_t window_shape_prev, real_t *in_data, real_t *out_mdct, | 339 | uint8_t window_shape_prev, real_t *in_data, real_t *out_mdct, |
337 | uint8_t object_type, uint16_t frame_len) | 340 | uint8_t object_type, uint16_t frame_len) |
338 | { | 341 | { |
339 | int16_t i; | 342 | int16_t i; |
340 | ALIGN real_t windowed_buf[2*1024] = {0}; | ||
341 | 343 | ||
342 | const real_t *window_long = NULL; | 344 | const real_t *window_long = NULL; |
343 | const real_t *window_long_prev = NULL; | 345 | const real_t *window_long_prev = NULL; |
@@ -348,8 +350,9 @@ void filter_bank_ltp(fb_info *fb, uint8_t window_sequence, uint8_t window_shape, | |||
348 | uint16_t nshort = frame_len/8; | 350 | uint16_t nshort = frame_len/8; |
349 | uint16_t nflat_ls = (nlong-nshort)/2; | 351 | uint16_t nflat_ls = (nlong-nshort)/2; |
350 | 352 | ||
351 | assert(window_sequence != EIGHT_SHORT_SEQUENCE); | 353 | //assert(window_sequence != EIGHT_SHORT_SEQUENCE); |
352 | 354 | ||
355 | memset(windowed_buf,0,sizeof(windowed_buf)); | ||
353 | #ifdef LD_DEC | 356 | #ifdef LD_DEC |
354 | if (object_type == LD) | 357 | if (object_type == LD) |
355 | { | 358 | { |