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