Mercurial > libavcodec.hg
comparison dca.c @ 7725:2cddcef36256 libavcodec
dca: Set data_size outside block loop.
| author | andoma |
|---|---|
| date | Fri, 29 Aug 2008 10:12:44 +0000 |
| parents | ea9aa2aa4caa |
| children | 6209e2477cff |
comparison
equal
deleted
inserted
replaced
| 7724:ea9aa2aa4caa | 7725:2cddcef36256 |
|---|---|
| 1181 if (!avctx->channels) | 1181 if (!avctx->channels) |
| 1182 avctx->channels = channels; | 1182 avctx->channels = channels; |
| 1183 | 1183 |
| 1184 if(*data_size < (s->sample_blocks / 8) * 256 * sizeof(int16_t) * channels) | 1184 if(*data_size < (s->sample_blocks / 8) * 256 * sizeof(int16_t) * channels) |
| 1185 return -1; | 1185 return -1; |
| 1186 *data_size = 0; | 1186 *data_size = 256 / 8 * s->sample_blocks * sizeof(int16_t) * channels; |
| 1187 for (i = 0; i < (s->sample_blocks / 8); i++) { | 1187 for (i = 0; i < (s->sample_blocks / 8); i++) { |
| 1188 dca_decode_block(s); | 1188 dca_decode_block(s); |
| 1189 s->dsp.float_to_int16_interleave(samples, s->samples_chanptr, 256, channels); | 1189 s->dsp.float_to_int16_interleave(samples, s->samples_chanptr, 256, channels); |
| 1190 samples += 256 * channels; | 1190 samples += 256 * channels; |
| 1191 *data_size += 256 * sizeof(int16_t) * channels; | |
| 1192 } | 1191 } |
| 1193 | 1192 |
| 1194 return buf_size; | 1193 return buf_size; |
| 1195 } | 1194 } |
| 1196 | 1195 |
