diff options
author | Mans Rullgard <mans@mansr.com> | 2011-05-16 16:52:01 +0100 |
---|---|---|
committer | Mans Rullgard <mans@mansr.com> | 2011-05-19 12:25:34 +0100 |
commit | c4f5c2d6f4ffa3f4b56555059000208a6ba47b55 (patch) | |
tree | f46c4f0d94a1e073ac0dae24fab4d1d972bcb2c6 /libavcodec/qdm2.c | |
parent | ea91e77127229015d23a046f1797d3fc6a33e54d (diff) | |
download | ffmpeg-c4f5c2d6f4ffa3f4b56555059000208a6ba47b55.tar.gz |
Move some mpegaudio functions to new mpegaudiodsp subsystem
This separation allows these functions to be used in a cleaner
fashion from other codecs (e.g. qdm2) and simplifies creating
optimised versions of them.
Signed-off-by: Mans Rullgard <mans@mansr.com>
Diffstat (limited to 'libavcodec/qdm2.c')
-rw-r--r-- | libavcodec/qdm2.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/libavcodec/qdm2.c b/libavcodec/qdm2.c index 0f4dd18966..f74cfd9258 100644 --- a/libavcodec/qdm2.c +++ b/libavcodec/qdm2.c @@ -39,6 +39,7 @@ #include "get_bits.h" #include "dsputil.h" #include "rdft.h" +#include "mpegaudiodsp.h" #include "mpegaudio.h" #include "qdm2data.h" @@ -170,6 +171,7 @@ typedef struct { float output_buffer[1024]; /// Synthesis filter + MPADSPContext mpadsp; DECLARE_ALIGNED(16, MPA_INT, synth_buf)[MPA_MAX_CHANNELS][512*2]; int synth_buf_offset[MPA_MAX_CHANNELS]; DECLARE_ALIGNED(16, int32_t, sb_samples)[MPA_MAX_CHANNELS][128][SBLIMIT]; @@ -1616,7 +1618,8 @@ static void qdm2_synthesis_filter (QDM2Context *q, int index) OUT_INT *samples_ptr = samples + ch; for (i = 0; i < 8; i++) { - ff_mpa_synth_filter_fixed(q->synth_buf[ch], &(q->synth_buf_offset[ch]), + ff_mpa_synth_filter_fixed(&q->mpadsp, + q->synth_buf[ch], &(q->synth_buf_offset[ch]), ff_mpa_synth_window_fixed, &dither_state, samples_ptr, q->nb_channels, q->sb_samples[ch][(8 * index) + i]); @@ -1863,6 +1866,7 @@ static av_cold int qdm2_decode_init(AVCodecContext *avctx) } ff_rdft_init(&s->rdft_ctx, s->fft_order, IDFT_C2R); + ff_mpadsp_init(&s->mpadsp); qdm2_init(s); |