From: Andre Noll Date: Fri, 16 Oct 2009 19:17:20 +0000 (+0200) Subject: move sine window stuff from imdct.c to wmadec_filter.c. X-Git-Tag: v0.4.1~97 X-Git-Url: http://git.tue.mpg.de/?a=commitdiff_plain;h=b6cb7e33fedf463ebb2c5cc0afe2f2a42f694f1e;p=paraslash.git move sine window stuff from imdct.c to wmadec_filter.c. --- diff --git a/imdct.c b/imdct.c index a87ad201..61498f73 100644 --- a/imdct.c +++ b/imdct.c @@ -29,8 +29,6 @@ typedef float fftsample_t; -#define DECLARE_ALIGNED(n,t,v) t v __attribute__ ((aligned (n))) -#define DECLARE_ALIGNED_16(t, v) DECLARE_ALIGNED(16, t, v) #define M_SQRT1_2 0.70710678118654752440 /* 1/sqrt(2) */ struct fft_complex { @@ -357,27 +355,6 @@ static void fft_end(struct fft_context *ctx) freep(&ctx->exptab); } -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]); - -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. -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))); -} - /** * Init MDCT or IMDCT computation. */ diff --git a/imdct.h b/imdct.h index 46fc4033..ab66bab0 100644 --- a/imdct.h +++ b/imdct.h @@ -2,8 +2,6 @@ struct mdct_context; -float *ff_sine_windows[6]; -void sine_window_init(float *window, int n); int imdct_init(int nbits, int inverse, struct mdct_context **result); void imdct(struct mdct_context *s, float *output, const float *input); void imdct_end(struct mdct_context *s); diff --git a/wma.h b/wma.h index c4703c25..4b313427 100644 --- a/wma.h +++ b/wma.h @@ -22,3 +22,5 @@ const char *search_pattern(const char *pattern, int pattern_len, int read_asf_header(char *buf, int loaded, struct asf_header_info *ahi); #define M_PI 3.14159265358979323846 /* pi */ #define WMA_FRAME_SKIP 31 +#define DECLARE_ALIGNED(n,t,v) t v __attribute__ ((aligned (n))) +#define DECLARE_ALIGNED_16(t, v) DECLARE_ALIGNED(16, t, v) diff --git a/wmadec_filter.c b/wmadec_filter.c index 15bb3925..b26ab3b5 100644 --- a/wmadec_filter.c +++ b/wmadec_filter.c @@ -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;