Commit 59bebb11 authored by Måns Rullgård's avatar Måns Rullgård

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.

Originally committed as revision 23950 to svn://svn.ffmpeg.org/ffmpeg/trunk
parent 35d597d5
......@@ -73,8 +73,7 @@
# include "dct32.c"
#endif
static void compute_antialias_integer(MPADecodeContext *s, GranuleDef *g);
static void compute_antialias_float(MPADecodeContext *s, GranuleDef *g);
static void compute_antialias(MPADecodeContext *s, GranuleDef *g);
static void apply_window_mp3_c(MPA_INT *synth_buf, MPA_INT *window,
int *dither_state, OUT_INT *samples, int incr);
......@@ -1575,6 +1574,7 @@ static void compute_stereo(MPADecodeContext *s,
}
}
#if !CONFIG_FLOAT
static void compute_antialias_integer(MPADecodeContext *s,
GranuleDef *g)
{
......@@ -1614,45 +1614,7 @@ static void compute_antialias_integer(MPADecodeContext *s,
ptr += 18;
}
}
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;
}
}
#endif
static void compute_imdct(MPADecodeContext *s,
GranuleDef *g,
......
......@@ -41,6 +41,45 @@ void ff_mpa_synth_filter_float(MPADecodeContext *s, float *synth_buf_ptr,
*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 =
{
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment