• Status Closed
  • Percent Complete
  • Task Type Feature Requests
  • Category Codecs
  • Assigned To No-one
  • Operating System All players
  • Severity Medium
  • Priority Very Low
  • Reported Version
  • Due in Version Undecided
  • Due Date Undecided
  • Votes 1
  • Private
Attached to Project: Rockbox
Opened by djtrancendance - 2006-10-26
Last edited by jdgordon - 2007-08-02

FS#6247 - Support for my new open-source format

 I have a new format called DOT100 that compresses music by taking out what sounds bad harmonically instead of what's over the ATH.  It currently acheives a 1/42 (AAC-plus 32kbps-like) compression ratio, yet it's getting better constantly and 1/84 ratio in the final version doesn't seem unreasonable.  It might be very useful for people who want AAC-plus-like compression performance without the SBR processor load or proprietary format nature.  
 The encoder & decoder C code for the DOT100 format is under 1000 lines total (much simpler than mp3 or ogg) and I'm pretty sure your devlopment team would have no problem snapping it into Rockbox if it sounds good to you.
 I have the complete source code available at  Please let me know what you think and, if it goes through ok, let me know what I can do to develop the code to make it easier to integrate into Rockbox.

Best Regards, Michael

Closed by  zagor
2007-08-02 12:25
Reason for closing:  Out of Date
Additional comments about closing:   Warning: Undefined array key "typography" in /home/rockbox/flyspray/plugins/dokuwiki/inc/parserutils.php on line 371 Warning: Undefined array key "camelcase" in /home/rockbox/flyspray/plugins/dokuwiki/inc/parserutils.php on line 407

Closing all feature requests.

Project Manager

This looks quite interesting. A few comments:

1) The Common Public License is not compatible with GPL

2) It is currently written in C++. We use plain C99 in Rockbox.

3) You use floating point arithmetics, which will be dog slow on the target. Use fixed point instead.

Sounds very good Linus…I’m preparing to optimize the code. A few questions I’d appreciate some help with, though:

1) Is it possible to simply switch licenses to GPL in the next release of Dot100 (0.85) (I know, a newbie question, I’m new to open source)? :-) 2) Besides not using objects (plain old C compatibility), what’s a good way to check if my code is C99 complaint? Could you give me a link to a compiler (GNU?) that runs under windows or dos and has a C99 mode?
3) I’m in the process if converting to fixed point, starting with the FFT math and continuing into the phasing code.
I’m guessing the floating-point processing lag is mostly critical for mathematical operations (fmul, fdiv, etc), rather than simple storage and comparisons (mov, cmp) of floating point values that cause significant slow down? Or is it both?

I’m no C wizard, so you’ll probably want to wait for an answer from someone else as well.

1) If you’re the author of all the code (which it seems like you are), you can do with it whatever you see fit, including changing the licensing on it on a whim.
2) MinGW ( is a version of GCC and related tools that run on windows. If it compiles with gcc (rather than g++), you should be more or less fine.
3) The switch to fixed-point is pretty much crucial for Rockbox’ needs since none of the targets have an FPU, so all floating-point operations are done using software emulation, which obviously results in a significant slowdown. You’ll want to remove all uses of floating-point throughout the decoder.


Available keyboard shortcuts


Task Details

Task Editing