forked from len0rd/rockbox
Enabled the FLAC EMAC optimisations.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7678 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
eb87ad5e32
commit
6ff8463216
2 changed files with 12 additions and 0 deletions
|
|
@ -1,2 +1,5 @@
|
|||
bitstream.c
|
||||
decoder.c
|
||||
#if defined(CPU_COLDFIRE) && !defined(SIMULATOR)
|
||||
coldfire.S
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -42,6 +42,10 @@
|
|||
|
||||
#include "decoder.h"
|
||||
|
||||
#if defined(CPU_COLDFIRE) && !defined(SIMULATOR)
|
||||
#include "coldfire.h"
|
||||
#endif
|
||||
|
||||
#define INT_MAX 2147483647
|
||||
|
||||
#define FFMAX(a,b) ((a) > (b) ? (a) : (b))
|
||||
|
|
@ -262,6 +266,10 @@ static int decode_subframe_lpc(FLACContext *s, int32_t* decoded, int pred_order)
|
|||
return -8;
|
||||
|
||||
if ((s->bps + coeff_prec + av_log2(pred_order)) <= 32) {
|
||||
#if defined(CPU_COLDFIRE) && !defined(SIMULATOR)
|
||||
(void)sum;
|
||||
lpc_decode_emac(s->blocksize - pred_order, qlevel, pred_order, decoded + pred_order, coeffs);
|
||||
#else
|
||||
for (i = pred_order; i < s->blocksize; i++)
|
||||
{
|
||||
sum = 0;
|
||||
|
|
@ -269,6 +277,7 @@ static int decode_subframe_lpc(FLACContext *s, int32_t* decoded, int pred_order)
|
|||
sum += coeffs[j] * decoded[i-j-1];
|
||||
decoded[i] += sum >> qlevel;
|
||||
}
|
||||
#endif
|
||||
} else {
|
||||
for (i = pred_order; i < s->blocksize; i++)
|
||||
{
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue