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 } |
