diff options
Diffstat (limited to 'apps/codecs/libmad/synth.c')
-rw-r--r-- | apps/codecs/libmad/synth.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/apps/codecs/libmad/synth.c b/apps/codecs/libmad/synth.c index bdec4258fb..4315e239e8 100644 --- a/apps/codecs/libmad/synth.c +++ b/apps/codecs/libmad/synth.c | |||
@@ -42,6 +42,11 @@ void mad_synth_init(struct mad_synth *synth) | |||
42 | synth->pcm.samplerate = 0; | 42 | synth->pcm.samplerate = 0; |
43 | synth->pcm.channels = 0; | 43 | synth->pcm.channels = 0; |
44 | synth->pcm.length = 0; | 44 | synth->pcm.length = 0; |
45 | #if defined(CPU_COLDFIRE) && !defined(SIMULATOR) | ||
46 | /* init the emac unit here, since this function should always be called | ||
47 | before using libmad */ | ||
48 | coldfire_set_macsr(EMAC_FRACTIONAL | EMAC_SATURATE | EMAC_ROUND); | ||
49 | #endif | ||
45 | } | 50 | } |
46 | 51 | ||
47 | /* | 52 | /* |
@@ -582,8 +587,6 @@ void synth_full(struct mad_synth *synth, struct mad_frame const *frame, | |||
582 | mad_fixed_t const (*Dptr)[32]; | 587 | mad_fixed_t const (*Dptr)[32]; |
583 | mad_fixed64hi_t hi; | 588 | mad_fixed64hi_t hi; |
584 | 589 | ||
585 | asm volatile("move.l #0x20, %macsr"); /* fractional mode */ | ||
586 | |||
587 | for (ch = 0; ch < nch; ++ch) { | 590 | for (ch = 0; ch < nch; ++ch) { |
588 | sbsample = &frame->sbsample[ch]; | 591 | sbsample = &frame->sbsample[ch]; |
589 | filter = &synth->filter[ch]; | 592 | filter = &synth->filter[ch]; |