#define CONFIG_FLOAT 1
#include "mpegaudiodec.c"
-void ff_mpa_synth_filter_float(MPADecodeContext *s, float *synth_buf_ptr,
- int *synth_buf_offset,
- float *window, int *dither_state,
- float *samples, int incr,
- float sb_samples[SBLIMIT])
-{
- float *synth_buf;
- int offset;
-
- offset = *synth_buf_offset;
- synth_buf = synth_buf_ptr + offset;
-
- s->dct.dct32(synth_buf, sb_samples);
- s->apply_window_mp3(synth_buf, window, dither_state, samples, incr);
-
- offset = (offset - 32) & 511;
- *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;
- }
-}
-
-static av_cold int decode_end(AVCodecContext * avctx)
-{
- MPADecodeContext *s = avctx->priv_data;
- ff_dct_end(&s->dct);
- return 0;
-}
-
#if CONFIG_MP1FLOAT_DECODER
AVCodec ff_mp1float_decoder =
{
sizeof(MPADecodeContext),
decode_init,
NULL,
- decode_end,
+ .close = NULL,
decode_frame,
CODEC_CAP_PARSE_ONLY,
.flush= flush,
sizeof(MPADecodeContext),
decode_init,
NULL,
- decode_end,
+ .close = NULL,
decode_frame,
CODEC_CAP_PARSE_ONLY,
.flush= flush,
sizeof(MPADecodeContext),
decode_init,
NULL,
- decode_end,
+ .close = NULL,
decode_frame,
CODEC_CAP_PARSE_ONLY,
.flush= flush,
sizeof(MPADecodeContext),
decode_init,
NULL,
- decode_end,
+ .close = NULL,
decode_frame_adu,
CODEC_CAP_PARSE_ONLY,
.flush= flush,