Use shared sine window instead of defining another one.

Originally committed as revision 16657 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
Vitor Sessak 2009-01-17 20:06:08 +00:00
parent 4bcafc9a23
commit 8a569fee99
1 changed files with 4 additions and 6 deletions

View File

@ -53,8 +53,6 @@ typedef struct NellyMoserDecodeContext {
DECLARE_ALIGNED_16(float,imdct_out[NELLY_BUF_LEN * 2]); DECLARE_ALIGNED_16(float,imdct_out[NELLY_BUF_LEN * 2]);
} NellyMoserDecodeContext; } NellyMoserDecodeContext;
static DECLARE_ALIGNED_16(float,sine_window[128]);
static void overlap_and_window(NellyMoserDecodeContext *s, float *state, float *audio, float *a_in) static void overlap_and_window(NellyMoserDecodeContext *s, float *state, float *audio, float *a_in)
{ {
int bot, top; int bot, top;
@ -63,8 +61,8 @@ static void overlap_and_window(NellyMoserDecodeContext *s, float *state, float *
top = NELLY_BUF_LEN-1; top = NELLY_BUF_LEN-1;
while (bot < NELLY_BUF_LEN) { while (bot < NELLY_BUF_LEN) {
audio[bot] = a_in [bot]*sine_window[bot] audio[bot] = a_in [bot]*ff_sine_128[bot]
+state[bot]*sine_window[top] + s->add_bias; +state[bot]*ff_sine_128[top] + s->add_bias;
bot++; bot++;
top--; top--;
@ -144,8 +142,8 @@ static av_cold int decode_init(AVCodecContext * avctx) {
} }
/* Generate overlap window */ /* Generate overlap window */
if (!sine_window[0]) if (!ff_sine_128[127])
ff_sine_window_init(sine_window, 128); ff_sine_window_init(ff_sine_128, 128);
avctx->sample_fmt = SAMPLE_FMT_S16; avctx->sample_fmt = SAMPLE_FMT_S16;
avctx->channel_layout = CH_LAYOUT_MONO; avctx->channel_layout = CH_LAYOUT_MONO;