Hi
I have recently started using the MAD decoder. My requirement is to use the MP3 library for the ARM 32 bit processor environement. I have compiled the library with the option FPM_ARM selected (I have modified the MACRO functions for my compiler support keeping the assembly instructions the same). But the audio output was not clear at all. Then I had selected FPM_DEFAULT. With that I am able to hear a feeble (but with noise) audio.
/**** mad_f_mul ****/
#define FPM_ARM
# define SIZEOF_INT 4
# define SIZEOF_LONG 4
# define SIZEOF_LONG_LONG 8
# define MAD_F_FRACBITS 28
#define MAD_F_SCALEBITS MAD_F_FRACBITS
static mad_fixed_t mad_f_mul(mad_fixed_t x,mad_fixed_t y)
{
mad_fixed_t result;
mad_fixed64hi_t hi;
mad_fixed64lo_t lo;
_asm(-1000,"
smull %0,%1,%3,%4
movs %0,lsr(%0,%5)
adc %2,%0,lsl(%1,%6)
",
__reg_gen(__obj_modify(lo)),
__reg_gen(__obj_modify(hi)),
__reg_gen(__obj_assign(result)),
__reg_gen(x),
__reg_gen(y),
MAD_F_SCALEBITS,
(32 - MAD_F_SCALEBITS)
);
return result;
}
/****Ends****/
I like to know if I am missing something?
Thanks
Balaji Shanmugam