Mercurial > libavcodec.hg
changeset 5313:4bd60d3bab7e libavcodec
AC-3 decoder, soc revision 53, Aug 17 08:53:44 2006 UTC by cloud9
Converted the window from double to float.
Now sound produced is as good as sound produced by liba52.
author | jbr |
---|---|
date | Sat, 14 Jul 2007 16:00:05 +0000 |
parents | 2c875e6274d5 |
children | 7da10ff9dab1 |
files | ac3dec.c |
diffstat | 1 files changed, 5 insertions(+), 20 deletions(-) [+] |
line wrap: on
line diff
--- a/ac3dec.c Sat Jul 14 15:59:25 2007 +0000 +++ b/ac3dec.c Sat Jul 14 16:00:05 2007 +0000 @@ -224,10 +224,10 @@ * Generate a Kaiser Window. */ static void -k_window_init(int alpha, double *window, int n, int iter) +k_window_init(int alpha, float *window, int n, int iter) { int j, k; - double a, x; + float a, x; a = alpha * M_PI / n; a = a*a; for(k=0; k<n; k++) { @@ -247,10 +247,10 @@ * @param iter number of iterations to use in BesselI0 */ static void -kbd_window_init(int alpha, double *window, int n, int iter) +kbd_window_init(int alpha, float *window, int n, int iter) { int k, n2; - double *kwindow; + float *kwindow; n2 = n >> 1; kwindow = &window[n2]; @@ -319,7 +319,6 @@ static void ac3_tables_init(void) { int i, j, k, l, v; - float alpha; /* compute bndtab and masktab from bandsz */ k = 0; l = 0; @@ -376,19 +375,6 @@ //for level-15 quantizers generate_quantizers_table(l15_quantizers, 15, 15); - /* Twiddle Factors for IMDCT. */ - for(i = 0; i < N / 4; i++) { - alpha = 2 * M_PI * (8 * i + 1) / (8 * N); - x_cos1[i] = -cos(alpha); - x_sin1[i] = -sin(alpha); - } - - for (i = 0; i < N / 8; i++) { - alpha = 2 * M_PI * (8 * i + 1) / (4 * N); - x_cos2[i] = -cos(alpha); - x_sin2[i] = -sin(alpha); - } - /* Kaiser-Bessel derived window. */ kbd_window_init(5, window, 256, 100); } @@ -1917,8 +1903,7 @@ AC3DecodeContext *ctx = (AC3DecodeContext *)avctx->priv_data; int frame_start; int16_t *out_samples = (int16_t *)data; - int i, j, k, value, fs_58; - uint16_t crc1; + int i, j, k, value; av_log(NULL, AV_LOG_INFO, "decoding frame %d buf_size = %d\n", frame_count++, buf_size);