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);