]> git.tuebingen.mpg.de Git - paraslash.git/blobdiff - wmadec_filter.c
move sine window stuff from imdct.c to wmadec_filter.c.
[paraslash.git] / wmadec_filter.c
index 15bb39253672dae4e4dd39e2d105c7ab41e026ba..b26ab3b57f1f4223c4f558a95206d4219bcb9139 100644 (file)
@@ -131,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;