За всех не отвечу.

Когда тестил MAD на скорость, сделал следующее - разместил кусочек MP3 файла в свободной flash. Что-то около 60k. Разместил как обычный массив - unsigned char const mp3_data[] = {0xAA, ..., 0xAA}.
Вызов функции был следующим - decode(mp3_data, state);