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
 


Marriage? Join BharatMatrimony.com for free.