summaryrefslogtreecommitdiff
path: root/apps/codecs/libffmpegFLAC/decoder.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/codecs/libffmpegFLAC/decoder.c')
-rw-r--r--apps/codecs/libffmpegFLAC/decoder.c13
1 files changed, 11 insertions, 2 deletions
diff --git a/apps/codecs/libffmpegFLAC/decoder.c b/apps/codecs/libffmpegFLAC/decoder.c
index 9c85864e26..4dbae972cb 100644
--- a/apps/codecs/libffmpegFLAC/decoder.c
+++ b/apps/codecs/libffmpegFLAC/decoder.c
@@ -262,10 +262,12 @@ static int decode_subframe_lpc(FLACContext *s, int32_t* decoded, int pred_order)
262 if ((s->bps + coeff_prec + av_log2(pred_order)) <= 32) { 262 if ((s->bps + coeff_prec + av_log2(pred_order)) <= 32) {
263 #if defined(CPU_COLDFIRE) && !defined(SIMULATOR) 263 #if defined(CPU_COLDFIRE) && !defined(SIMULATOR)
264 (void)sum; 264 (void)sum;
265 lpc_decode_emac(s->blocksize - pred_order, qlevel, pred_order, decoded + pred_order, coeffs); 265 lpc_decode_emac(s->blocksize - pred_order, qlevel, pred_order,
266 decoded + pred_order, coeffs);
266 #elif defined(CPU_ARM) && !defined(SIMULATOR) 267 #elif defined(CPU_ARM) && !defined(SIMULATOR)
267 (void)sum; 268 (void)sum;
268 lpc_decode_arm(s->blocksize - pred_order, qlevel, pred_order, decoded + pred_order, coeffs); 269 lpc_decode_arm(s->blocksize - pred_order, qlevel, pred_order,
270 decoded + pred_order, coeffs);
269 #else 271 #else
270 for (i = pred_order; i < s->blocksize; i++) 272 for (i = pred_order; i < s->blocksize; i++)
271 { 273 {
@@ -276,6 +278,12 @@ static int decode_subframe_lpc(FLACContext *s, int32_t* decoded, int pred_order)
276 } 278 }
277 #endif 279 #endif
278 } else { 280 } else {
281 #if defined(CPU_COLDFIRE) && !defined(SIMULATOR)
282 (void)wsum;
283 (void)j;
284 lpc_decode_emac_wide(s->blocksize - pred_order, qlevel, pred_order,
285 decoded + pred_order, coeffs);
286 #else
279 for (i = pred_order; i < s->blocksize; i++) 287 for (i = pred_order; i < s->blocksize; i++)
280 { 288 {
281 wsum = 0; 289 wsum = 0;
@@ -283,6 +291,7 @@ static int decode_subframe_lpc(FLACContext *s, int32_t* decoded, int pred_order)
283 wsum += (int64_t)coeffs[j] * (int64_t)decoded[i-j-1]; 291 wsum += (int64_t)coeffs[j] * (int64_t)decoded[i-j-1];
284 decoded[i] += wsum >> qlevel; 292 decoded[i] += wsum >> qlevel;
285 } 293 }
294 #endif
286 } 295 }
287 296
288 return 0; 297 return 0;