Revision fe2ff6d2 libavcodec/dca.c
libavcodec/dca.c | ||
---|---|---|
40 | 40 |
#include "dca.h" |
41 | 41 |
#include "synth_filter.h" |
42 | 42 |
#include "dcadsp.h" |
43 |
#include "fmtconvert.h" |
|
43 | 44 |
|
44 | 45 |
//#define TRACE |
45 | 46 |
|
... | ... | |
347 | 348 |
FFTContext imdct; |
348 | 349 |
SynthFilterContext synth; |
349 | 350 |
DCADSPContext dcadsp; |
351 |
FmtConvertContext fmt_conv; |
|
350 | 352 |
} DCAContext; |
351 | 353 |
|
352 | 354 |
static const uint16_t dca_vlc_offs[] = { |
... | ... | |
1115 | 1117 |
block[m] = get_bitalloc(&s->gb, &dca_smpl_bitalloc[abits], sel); |
1116 | 1118 |
} |
1117 | 1119 |
|
1118 |
s->dsp.int32_to_float_fmul_scalar(subband_samples[k][l],
|
|
1120 |
s->fmt_conv.int32_to_float_fmul_scalar(subband_samples[k][l],
|
|
1119 | 1121 |
block, rscale, 8); |
1120 | 1122 |
} |
1121 | 1123 |
|
... | ... | |
1802 | 1804 |
} |
1803 | 1805 |
} |
1804 | 1806 |
|
1805 |
s->dsp.float_to_int16_interleave(samples, s->samples_chanptr, 256, channels);
|
|
1807 |
s->fmt_conv.float_to_int16_interleave(samples, s->samples_chanptr, 256, channels);
|
|
1806 | 1808 |
samples += 256 * channels; |
1807 | 1809 |
} |
1808 | 1810 |
|
... | ... | |
1835 | 1837 |
ff_mdct_init(&s->imdct, 6, 1, 1.0); |
1836 | 1838 |
ff_synth_filter_init(&s->synth); |
1837 | 1839 |
ff_dcadsp_init(&s->dcadsp); |
1840 |
ff_fmt_convert_init(&s->fmt_conv, avctx); |
|
1838 | 1841 |
|
1839 | 1842 |
for (i = 0; i < DCA_PRIM_CHANNELS_MAX+1; i++) |
1840 | 1843 |
s->samples_chanptr[i] = s->samples + i * 256; |
Also available in: Unified diff