Mercurial > libavcodec.hg
diff mpegaudiodec_float.c @ 12044:49c528a39187 libavcodec
mpegaudio: move compute_antialias_float() to mpegaudiodec_float.c
Also put compute_antialias_integer() under !CONFIG_FLOAT and change
forward declarations to declare only the relevant one of these.
Fixes warnings about unused functions and pointer type mismatches.
author | mru |
---|---|
date | Thu, 01 Jul 2010 23:21:20 +0000 |
parents | 3f3d08bb5cf8 |
children | fb3fcaf3c1b6 |
line wrap: on
line diff
--- a/mpegaudiodec_float.c Thu Jul 01 23:21:17 2010 +0000 +++ b/mpegaudiodec_float.c Thu Jul 01 23:21:20 2010 +0000 @@ -41,6 +41,45 @@ *synth_buf_offset = offset; } +static void compute_antialias_float(MPADecodeContext *s, + GranuleDef *g) +{ + float *ptr; + int n, i; + + /* we antialias only "long" bands */ + if (g->block_type == 2) { + if (!g->switch_point) + return; + /* XXX: check this for 8000Hz case */ + n = 1; + } else { + n = SBLIMIT - 1; + } + + ptr = g->sb_hybrid + 18; + for(i = n;i > 0;i--) { + float tmp0, tmp1; + float *csa = &csa_table_float[0][0]; +#define FLOAT_AA(j)\ + tmp0= ptr[-1-j];\ + tmp1= ptr[ j];\ + ptr[-1-j] = tmp0 * csa[0+4*j] - tmp1 * csa[1+4*j];\ + ptr[ j] = tmp0 * csa[1+4*j] + tmp1 * csa[0+4*j]; + + FLOAT_AA(0) + FLOAT_AA(1) + FLOAT_AA(2) + FLOAT_AA(3) + FLOAT_AA(4) + FLOAT_AA(5) + FLOAT_AA(6) + FLOAT_AA(7) + + ptr += 18; + } +} + #if CONFIG_MP1FLOAT_DECODER AVCodec mp1float_decoder = {