Mercurial > libavcodec.hg
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 } |