FS#9007 - MP3 encoder (codec & plugin) quality improvements

Attached to Project: Rockbox
Opened by Toni (ahellmann) - Sunday, 18 May 2008, 10:10 GMT
Last edited by Thom Johansen (preglow) - Monday, 16 June 2008, 08:00 GMT
Task Type Patches
Category Recording
Status Closed
Assigned To No-one
Operating System SW-codec
Severity Low
Priority Normal
Reported Version Daily build (which?)
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No


This patch gives better quality than the current due to the following changes:
(1) bugfix in bit allocation (correct sign for '1' values)
(2) increase range of mdct freq values (improves quality for single frequency peaks, dc-offset)
(3) bugfix in the encoding of 'big' frequency peaks (avoid misencoding of remaining data) did not happen without (2)
(4) make use of scale factors (reduces mp3 noise)
(5) unifications of mp3 encoder plugin and codec
(6) preserve integer scale factors for mdct calculation, small performance tweak
(7) separate mdct sign and absolute values, keep performance
The overall performance has slightely decreased.
This task depends upon

Closed by  Thom Johansen (preglow)
Monday, 16 June 2008, 08:00 GMT
Reason for closing:  Accepted
Comment by Thom Johansen (preglow) - Saturday, 24 May 2008, 00:49 GMT
Looks good to me. If the performance decrease isn't too big (I haven't tested the patch myself yet), and it works better than before, go ahead and commit it. Now all we need is a transcoder plugin so we can get rid of the separate plugin version of this :>
Comment by Michael Sevakis (MikeS) - Tuesday, 27 May 2008, 02:10 GMT
Surprisingly, it's really not all that demanding to run as is in SVN - 35% boost on Coldfire IIRC. My memory is very vague though on MP3/WV boost ratios since it's been so long.

Also, some adjustment of the bitrates available might be a good idea if this changes things since they were selected based on listening tests so that at least recording a single voice was quite intelligible for a particular channel count.
Comment by Toni (ahellmann) - Sunday, 15 June 2008, 18:02 GMT
This task can be closed, because the patch is in SVN since r17679, 2008-06-02.