Multi-format media player/recorder software design methodology for programmable processors with hardware accelerators