OSDN Git Service

dca and aac decoders use float_to_int16_interleave, so check for
authorDavid Conrad <lessen42@gmail.com>
Thu, 8 Oct 2009 14:40:14 +0000 (14:40 +0000)
committerDavid Conrad <lessen42@gmail.com>
Thu, 8 Oct 2009 14:40:14 +0000 (14:40 +0000)
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

libavcodec/aac.c
libavcodec/dca.c

index 2dc7960..68a007b 100644 (file)
@@ -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;
index b68e547..e411c36 100644 (file)
@@ -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 {