Index: apps/codecs/libmad/synth.c =================================================================== --- apps/codecs/libmad/synth.c (revision 28428) +++ apps/codecs/libmad/synth.c (working copy) @@ -139,6 +139,9 @@ */ static void dct32(mad_fixed_t const in[32], unsigned int slot, + mad_fixed_t lo[16][8], mad_fixed_t hi[16][8]) ICODE_ATTR_MPA_SYNTH; +static +void dct32(mad_fixed_t const in[32], unsigned int slot, mad_fixed_t lo[16][8], mad_fixed_t hi[16][8]) { mad_fixed_t t0, t1, t2, t3, t4, t5, t6, t7; Index: apps/codecs/libmad/mad_iram.h =================================================================== --- apps/codecs/libmad/mad_iram.h (revision 28428) +++ apps/codecs/libmad/mad_iram.h (working copy) @@ -29,20 +29,19 @@ #include "config.h" -/* Code performs slower in IRAM on PP502x and there is no space in - mpegplayer on the PP5002. S3C2440 doesn't have any IRAM available for - codecs */ -#if defined(CPU_PP502x) || (CONFIG_CPU == PP5002 && defined(MPEGPLAYER)) +/* Code performs slower in IRAM on PP502x/MCF5250/MCF5249 and there is no space + in mpegplayer on the PP5002. S3C2440 doesn't have any IRAM available for + codecs. */ +#if defined(CPU_PP502x) || (CONFIG_CPU == PP5002 && defined(MPEGPLAYER)) \ + || (CONFIG_CPU == MCF5250) || (CONFIG_CPU == MCF5249) #define ICODE_SECTION_MPA_ARM .text +#define IBSS_SECTION_MPA_ARM .ibss #define ICODE_ATTR_MPA_SYNTH +#define ICONST_ATTR_MPA_HUFFMAN ICONST_ATTR #else #define ICODE_SECTION_MPA_ARM .icode -#define ICODE_ATTR_MPA_SYNTH ICODE_ATTR -#endif - #define IBSS_SECTION_MPA_ARM .ibss - -#ifndef ICONST_ATTR_MPA_HUFFMAN +#define ICODE_ATTR_MPA_SYNTH ICODE_ATTR #define ICONST_ATTR_MPA_HUFFMAN ICONST_ATTR #endif