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 |