Mercurial > libavcodec.hg
comparison dca.c @ 11592:18f17f44de37 libavcodec
Make synth_filter a function pointer
author | mru |
---|---|
date | Sat, 10 Apr 2010 16:27:53 +0000 |
parents | 59a801bfc636 |
children | 93db59ec6eb7 |
comparison
equal
deleted
inserted
replaced
11591:59a801bfc636 | 11592:18f17f44de37 |
---|---|
251 int current_subsubframe; | 251 int current_subsubframe; |
252 | 252 |
253 int debug_flag; ///< used for suppressing repeated error messages output | 253 int debug_flag; ///< used for suppressing repeated error messages output |
254 DSPContext dsp; | 254 DSPContext dsp; |
255 FFTContext imdct; | 255 FFTContext imdct; |
256 SynthFilterContext synth; | |
256 } DCAContext; | 257 } DCAContext; |
257 | 258 |
258 static const uint16_t dca_vlc_offs[] = { | 259 static const uint16_t dca_vlc_offs[] = { |
259 0, 512, 640, 768, 1282, 1794, 2436, 3080, 3770, 4454, 5364, | 260 0, 512, 640, 768, 1282, 1794, 2436, 3080, 3770, 4454, 5364, |
260 5372, 5380, 5388, 5392, 5396, 5412, 5420, 5428, 5460, 5492, 5508, | 261 5372, 5380, 5388, 5392, 5396, 5412, 5420, 5428, 5460, 5492, 5508, |
773 else s->raXin[i] = samples_in[i][subindex]; | 774 else s->raXin[i] = samples_in[i][subindex]; |
774 } | 775 } |
775 for (; i < 32; i++) | 776 for (; i < 32; i++) |
776 s->raXin[i] = 0.0; | 777 s->raXin[i] = 0.0; |
777 | 778 |
778 ff_synth_filter_float(&s->imdct, | 779 s->synth.synth_filter_float(&s->imdct, |
779 s->subband_fir_hist[chans], &s->hist_index[chans], | 780 s->subband_fir_hist[chans], &s->hist_index[chans], |
780 s->subband_fir_noidea[chans], prCoeff, | 781 s->subband_fir_noidea[chans], prCoeff, |
781 samples_out, s->raXin, scale, bias); | 782 samples_out, s->raXin, scale, bias); |
782 samples_out+= 32; | 783 samples_out+= 32; |
783 | 784 |
1296 s->avctx = avctx; | 1297 s->avctx = avctx; |
1297 dca_init_vlcs(); | 1298 dca_init_vlcs(); |
1298 | 1299 |
1299 dsputil_init(&s->dsp, avctx); | 1300 dsputil_init(&s->dsp, avctx); |
1300 ff_mdct_init(&s->imdct, 6, 1, 1.0); | 1301 ff_mdct_init(&s->imdct, 6, 1, 1.0); |
1302 ff_synth_filter_init(&s->synth); | |
1301 | 1303 |
1302 for(i = 0; i < 6; i++) | 1304 for(i = 0; i < 6; i++) |
1303 s->samples_chanptr[i] = s->samples + i * 256; | 1305 s->samples_chanptr[i] = s->samples + i * 256; |
1304 avctx->sample_fmt = SAMPLE_FMT_S16; | 1306 avctx->sample_fmt = SAMPLE_FMT_S16; |
1305 | 1307 |