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