comparison dca.c @ 8063:6bc70b15451d libavcodec

Disable codec downmix when not using simd instead of silently produce silence
author banan
date Sun, 26 Oct 2008 10:14:16 +0000
parents 17aeecee2a97
children 574a0dcc4488
comparison
equal deleted inserted replaced
8062:17aeecee2a97 8063:6bc70b15451d
1202 dca_init_vlcs(); 1202 dca_init_vlcs();
1203 1203
1204 dsputil_init(&s->dsp, avctx); 1204 dsputil_init(&s->dsp, avctx);
1205 ff_mdct_init(&s->imdct, 6, 1); 1205 ff_mdct_init(&s->imdct, 6, 1);
1206 1206
1207 /* allow downmixing to stereo */
1208 if (avctx->channels > 0 && avctx->request_channels < avctx->channels &&
1209 avctx->request_channels == 2) {
1210 avctx->channels = avctx->request_channels;
1211 }
1212 for(i = 0; i < 6; i++) 1207 for(i = 0; i < 6; i++)
1213 s->samples_chanptr[i] = s->samples + i * 256; 1208 s->samples_chanptr[i] = s->samples + i * 256;
1214 avctx->sample_fmt = SAMPLE_FMT_S16; 1209 avctx->sample_fmt = SAMPLE_FMT_S16;
1215 1210
1216 if(s->dsp.float_to_int16 == ff_float_to_int16_c) { 1211 if(s->dsp.float_to_int16 == ff_float_to_int16_c) {
1217 s->add_bias = 385.0f; 1212 s->add_bias = 385.0f;
1218 s->scale_bias = 1.0 / 32768.0; 1213 s->scale_bias = 1.0 / 32768.0;
1219 } else { 1214 } else {
1220 s->add_bias = 0.0f; 1215 s->add_bias = 0.0f;
1221 s->scale_bias = 1.0; 1216 s->scale_bias = 1.0;
1217
1218 /* allow downmixing to stereo */
1219 if (avctx->channels > 0 && avctx->request_channels < avctx->channels &&
1220 avctx->request_channels == 2) {
1221 avctx->channels = avctx->request_channels;
1222 }
1222 } 1223 }
1223 1224
1224 1225
1225 return 0; 1226 return 0;
1226 } 1227 }