diff options
Diffstat (limited to 'liba52/imdct.c')
-rw-r--r-- | liba52/imdct.c | 70 |
1 files changed, 35 insertions, 35 deletions
diff --git a/liba52/imdct.c b/liba52/imdct.c index 4909fc5ce9..8a29ee3248 100644 --- a/liba52/imdct.c +++ b/liba52/imdct.c @@ -292,7 +292,7 @@ static void ifft16 (complex_t * buf) ifft4 (buf + 8); ifft4 (buf + 12); ifft_pass (buf, roots16 - 4, 4); - } +} static void ifft32 (complex_t * buf) { @@ -300,7 +300,7 @@ static void ifft32 (complex_t * buf) ifft8 (buf + 16); ifft8 (buf + 24); ifft_pass (buf, roots32 - 8, 8); - } +} static void ifft64_c (complex_t * buf) { @@ -308,8 +308,8 @@ static void ifft64_c (complex_t * buf) ifft16 (buf + 32); ifft16 (buf + 48); ifft_pass (buf, roots64 - 16, 16); - } - +} + static void ifft128_c (complex_t * buf) { ifft32 (buf); @@ -320,33 +320,33 @@ static void ifft128_c (complex_t * buf) ifft32 (buf + 64); ifft32 (buf + 96); ifft_pass (buf, roots128 - 32, 32); - } - +} + void imdct_do_512 (sample_t * data, sample_t * delay, sample_t bias) { int i, k; sample_t t_r, t_i, a_r, a_i, b_r, b_i, w_1, w_2; const sample_t * window = a52_imdct_window; complex_t buf[128]; - - for( i=0; i < 128; i++) { + + for (i = 0; i < 128; i++) { k = fftorder[i]; t_r = pre1[i].real; t_i = pre1[i].imag; - + buf[i].real = t_i * data[255-k] + t_r * data[k]; buf[i].imag = t_r * data[255-k] - t_i * data[k]; } - + ifft128 (buf); /* Post IFFT complex multiply plus IFFT complex conjugate*/ /* Window and convert to real valued signal */ - for(i=0; i< 64; i++) { + for (i = 0; i < 64; i++) { /* y[n] = z[n] * (xcos1[n] + j * xsin1[n]) ; */ t_r = post1[i].real; t_i = post1[i].imag; - + a_r = t_r * buf[i].real + t_i * buf[i].imag; a_i = t_i * buf[i].real - t_r * buf[i].imag; b_r = t_i * buf[127-i].real + t_r * buf[127-i].imag; @@ -1076,7 +1076,7 @@ imdct_do_512_sse(sample_t data[],sample_t delay[], sample_t bias) void a52_imdct_256(sample_t * data, sample_t * delay, sample_t bias) { - int i,k; + int i, k; sample_t t_r, t_i, a_r, a_i, b_r, b_i, c_r, c_i, d_r, d_i, w_1, w_2; const sample_t * window = a52_imdct_window; complex_t buf1[64], buf2[64]; @@ -1137,8 +1137,8 @@ void a52_imdct_256(sample_t * data, sample_t * delay, sample_t bias) data[129+2*i] = delay[126-2*i] * w_2 + b_r * w_1 + bias; data[126-2*i] = delay[126-2*i] * w_1 - b_r * w_2 + bias; delay[126-2*i] = d_i; - } } +} static double besselI0 (double x) { @@ -1149,8 +1149,8 @@ static double besselI0 (double x) bessel = bessel * x / (i * i) + 1; while (--i); return bessel; - } - +} + void a52_imdct_init (uint32_t mm_accel) { int i, j, k; @@ -1178,44 +1178,44 @@ void a52_imdct_init (uint32_t mm_accel) for (i = 0; i < 31; i++) roots128[i] = cos ((M_PI / 64) * (i + 1)); - for(i=0; i< 64; i++) { + for (i = 0; i < 64; i++) { k = fftorder[i] / 2 + 64; pre1[i].real = cos ((M_PI / 256) * (k - 0.25)); pre1[i].imag = sin ((M_PI / 256) * (k - 0.25)); } - + for (i = 64; i < 128; i++) { k = fftorder[i] / 2 + 64; pre1[i].real = -cos ((M_PI / 256) * (k - 0.25)); pre1[i].imag = -sin ((M_PI / 256) * (k - 0.25)); } - for(i=0; i< 64; i++) { + for (i = 0; i < 64; i++) { post1[i].real = cos ((M_PI / 256) * (i + 0.5)); post1[i].imag = sin ((M_PI / 256) * (i + 0.5)); } - for(i=0; i< 64; i++) { + for (i = 0; i < 64; i++) { k = fftorder[i] / 4; pre2[i].real = cos ((M_PI / 128) * (k - 0.25)); pre2[i].imag = sin ((M_PI / 128) * (k - 0.25)); -} + } for (i = 0; i < 32; i++) { post2[i].real = cos ((M_PI / 128) * (i + 0.5)); post2[i].imag = sin ((M_PI / 128) * (i + 0.5)); } - for (i = 0; i < 128; i++) { - xcos1[i] = -cos ((M_PI / 2048) * (8 * i + 1)); - xsin1[i] = -sin ((M_PI / 2048) * (8 * i + 1)); - } - for (i = 0; i < 7; i++) { - j = 1 << i; - for (k = 0; k < j; k++) { - w[i][k].real = cos (-M_PI * k / j); - w[i][k].imag = sin (-M_PI * k / j); - } + for (i = 0; i < 128; i++) { + xcos1[i] = -cos ((M_PI / 2048) * (8 * i + 1)); + xsin1[i] = -sin ((M_PI / 2048) * (8 * i + 1)); + } + for (i = 0; i < 7; i++) { + j = 1 << i; + for (k = 0; k < j; k++) { + w[i][k].real = cos (-M_PI * k / j); + w[i][k].imag = sin (-M_PI * k / j); } + } #if defined(ARCH_X86) || defined(ARCH_X86_64) for (i = 0; i < 128; i++) { sseSinCos1c[2*i+0]= xcos1[i]; @@ -1275,7 +1275,7 @@ void a52_imdct_init (uint32_t mm_accel) { fprintf (stderr, "Using SSE optimized IMDCT transform\n"); a52_imdct_512 = imdct_do_512_sse; - } + } else if(mm_accel & MM_ACCEL_X86_3DNOWEXT) { @@ -1296,7 +1296,7 @@ void a52_imdct_init (uint32_t mm_accel) fprintf(stderr, "Using AltiVec optimized IMDCT transform\n"); a52_imdct_512 = imdct_do_512_altivec; } - else + else #endif #ifdef LIBA52_DJBFFT @@ -1306,7 +1306,7 @@ void a52_imdct_init (uint32_t mm_accel) ifft64 = (void (*) (complex_t *)) fftc4_un64; } else #endif -{ + { fprintf (stderr, "No accelerated IMDCT transform found\n"); -} + } } |