summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libavcodec/mpegaudiodec.c44
-rw-r--r--libavcodec/mpegaudiodec_float.c39
2 files changed, 42 insertions, 41 deletions
diff --git a/libavcodec/mpegaudiodec.c b/libavcodec/mpegaudiodec.c
index e5a1acecb0..f3ed155ab9 100644
--- a/libavcodec/mpegaudiodec.c
+++ b/libavcodec/mpegaudiodec.c
@@ -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,
diff --git a/libavcodec/mpegaudiodec_float.c b/libavcodec/mpegaudiodec_float.c
index a8aebba654..93adaf8cc8 100644
--- a/libavcodec/mpegaudiodec_float.c
+++ b/libavcodec/mpegaudiodec_float.c
@@ -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 =
{