Rockbox.org home
release
dev builds
extras
themes manual
wiki
device status forums
mailing lists
IRC bugs
patches
dev guide



Rockbox mail archive

Subject: GSoC 2010 Projects

GSoC 2010 Projects

From: Michael Purwins <mpurwins_at_gmail.com>
Date: Sun, 30 Jan 2011 13:08:36 +0000

Hi,
my name is Michael Purwins and I am currently doing my masters degree in
Software Engineering at Dublin City University in Ireland.
I was browsing the Google Summer of Code project ideas from 2010 to find a
suitable idea for my practicum. The two topics below caught my eye. Is one
of them still available?

*MP3 Codec Optimization*
Rockbox has a fixed point MP3 decoder based on libmad. Unfortunately libmad
is not particularly fast even after extensive optimization. For example,
on ARM7TDMI?, Rockbox uses 38MHz for 128k MP3. The official ARM decoder uses
29MHz, a difference of almost 25%. Other libraries exist for decoding mp3,
each with their own strengths and weaknesses. In this project, a student
would explore the performance of each of the major components of our decoder
and then evaluate possible replacements in other codec libraries (ffmpeg,
etc) or implement their own code based on algorithms in the literature. The
goal would be to produce a decoders using either the best known algorithm or
best known open source code for each step in the decoding process. The
resulting improvements to Rockbox would reduce power consumption and provide
the open source community with substantially more efficient embedded MPEG
codecs.

*Codec Library and Optimization*
Create a stand alone command line version of the rockbox codec api functions
so that rockbox codecs can be compiled and tested outside of rockbox, much
as ffmpeg codecs can be tested from the command line. Then optimize codecs
in order to fit into certain memory or CPU usage goals. Introduce standard,
optimized library functions for common tasks to complement the existing
IMDCT library (such as bitstream parsing, huffman decoding, etc). The goal
of this project would be to improve the performance and memory usage of
rockbox codecs, while making them accessible to other embedded projects.

Some background information:
I am German and graduated in computer engineering at Hamburg University of
Technology.
To be honest my knowledge about audio codecs is limited. However, I am very
interested in low-level optimisation and willing to acquire all the needed
skills.
My bachelor thesis was on cache optimisation for image processing algorithms
on Intel X86 architectures. I was able to increase the performance of some
algorithms by more than 40%.

Best Regards,
Michael
Received on 2011-01-30


Page was last modified "Jan 10 2012" The Rockbox Crew
aaa