Mercurial > libavcodec.hg
diff ac3dec.c @ 6139:5077d1562573 libavcodec
Make the Kaiser-Bessel window generator a common function
Patch by Robert Swain, robert d swain a gmail d com
author | andoma |
---|---|
date | Sat, 12 Jan 2008 11:11:19 +0000 |
parents | 5c485301f6f3 |
children | a35b838ab955 |
line wrap: on
line diff
--- a/ac3dec.c Fri Jan 11 21:34:05 2008 +0000 +++ b/ac3dec.c Sat Jan 12 11:11:19 2008 +0000 @@ -197,30 +197,6 @@ } AC3DecodeContext; /** - * Generate a Kaiser-Bessel Derived Window. - */ -static void ac3_window_init(float *window) -{ - int i, j; - double sum = 0.0, bessel, tmp; - double local_window[256]; - double alpha2 = (5.0 * M_PI / 256.0) * (5.0 * M_PI / 256.0); - - for (i = 0; i < 256; i++) { - tmp = i * (256 - i) * alpha2; - bessel = 1.0; - for (j = 100; j > 0; j--) /* default to 100 iterations */ - bessel = bessel * tmp / (j * j) + 1; - sum += bessel; - local_window[i] = sum; - } - - sum++; - for (i = 0; i < 256; i++) - window[i] = sqrt(local_window[i] / sum); -} - -/** * Symmetrical Dequantization * reference: Section 7.3.3 Expansion of Mantissas for Symmetrical Quantization * Tables 7.19 to 7.23 @@ -301,7 +277,7 @@ ac3_tables_init(); ff_mdct_init(&s->imdct_256, 8, 1); ff_mdct_init(&s->imdct_512, 9, 1); - ac3_window_init(s->window); + ff_kbd_window_init(s->window); dsputil_init(&s->dsp, avctx); av_init_random(0, &s->dith_state);