X-Git-Url: http://git.tuebingen.mpg.de/?a=blobdiff_plain;f=wmadec_filter.c;h=b26ab3b57f1f4223c4f558a95206d4219bcb9139;hb=b6cb7e33fedf463ebb2c5cc0afe2f2a42f694f1e;hp=147779148540b85275440928f8e24b4d41932372;hpb=f670632702f9345964ea7f2e6da9b97a331e9165;p=paraslash.git diff --git a/wmadec_filter.c b/wmadec_filter.c index 14777914..b26ab3b5 100644 --- a/wmadec_filter.c +++ b/wmadec_filter.c @@ -19,7 +19,6 @@ #include #include -#include #include #include #include @@ -132,6 +131,27 @@ struct private_wmadec_data { #define VLCBITS 9 #define VLCMAX ((22+VLCBITS-1)/VLCBITS) +DECLARE_ALIGNED(16, float, ff_sine_128[128]); +DECLARE_ALIGNED(16, float, ff_sine_256[256]); +DECLARE_ALIGNED(16, float, ff_sine_512[512]); +DECLARE_ALIGNED(16, float, ff_sine_1024[1024]); +DECLARE_ALIGNED(16, float, ff_sine_2048[2048]); +DECLARE_ALIGNED(16, float, ff_sine_4096[4096]); + +static float *ff_sine_windows[6] = { + ff_sine_128, ff_sine_256, ff_sine_512, ff_sine_1024, + ff_sine_2048, ff_sine_4096 +}; + +/* Generate a sine window. */ +static void sine_window_init(float *window, int n) +{ + int i; + + for (i = 0; i < n; i++) + window[i] = sinf((i + 0.5) * (M_PI / (2.0 * n))); +} + static int wmadec_cleanup(struct private_wmadec_data *s) { int i; @@ -777,7 +797,6 @@ static int wma_decode_block(struct private_wmadec_data *s) /* complex coding */ if (s->use_noise_coding) { - for (ch = 0; ch < s->ahi.channels; ch++) { if (s->channel_coded[ch]) { int i, m, a;