dca and aac decoders use float_to_int16_interleave, so check for

the C version of that rather than float_to_int16.
Fixes output on ARM/VFP

Originally committed as revision 20192 to svn://svn.ffmpeg.org/ffmpeg/trunk
release/0.6
David Conrad 15 years ago
parent 12bf71b691
commit 144fec83b3
  1. 2
      libavcodec/aac.c
  2. 2
      libavcodec/dca.c

@ -527,7 +527,7 @@ static av_cold int aac_decode_init(AVCodecContext *avccontext)
// 32768 - Required to scale values to the correct range for the bias method
// for float to int16 conversion.
if (ac->dsp.float_to_int16 == ff_float_to_int16_c) {
if (ac->dsp.float_to_int16_interleave == ff_float_to_int16_interleave_c) {
ac->add_bias = 385.0f;
ac->sf_scale = 1. / (-1024. * 32768.);
ac->sf_offset = 0;

@ -1324,7 +1324,7 @@ static av_cold int dca_decode_init(AVCodecContext * avctx)
s->samples_chanptr[i] = s->samples + i * 256;
avctx->sample_fmt = SAMPLE_FMT_S16;
if(s->dsp.float_to_int16 == ff_float_to_int16_c) {
if(s->dsp.float_to_int16_interleave == ff_float_to_int16_interleave_c) {
s->add_bias = 385.0f;
s->scale_bias = 1.0 / 32768.0;
} else {

Loading…
Cancel
Save