IPB

Welcome Guest ( Log In | Register )

New portable Musepack decoder library, including fixed-point mode
Peter
post May 19 2004, 16:40
Post #1


foobar2000 developer


Group: Admin
Posts: 3285
Joined: 30-September 01
Member No.: 84



UPDATE: source posted here is outdated now, newer version is hosted on musepack.net.

Full C++ source in post attachement.

License: LGPL.

Features:
- Switchable fixed-point and floating-point modes - enable/disable "#define MPC_FIXED_POINT" in mpc_math.h
- Endian-safe, verified running correctly on big-endian machines
- Multiinstance and multithread safe
- File access callbacks
- No assembly code used, for full portability

Verified correctly compiling/running under:
- win32 / x86 / MSVC6 + SP5 + processor pack - very fast floating-point mode (goes above 200x on ~2GHz machines), fixed-point mode is significantly slower (~60x)
- win32 / x86 / MSVC7.1 - slightly faster than MSVC6, fixed-point mode still relatively slow
- win32 / x86 / DMCPP - fixed-point mode faster than MSVC, floating-point mode slower than expected with strange slowdowns when compiled with speed optimizations enabled
- wince / ARM (32bit) / eVC4 + SP3 - fixed-point decoding speed on 400MHz XScale CPU is about 10x realtime
- Darwin 7.3.0, MacOS X 10.3.3 / PowerPC970/G5 / GCC 3.3 - about 80x-100x decoding speed in both modes on 2GHz G5, thanks to TrNSZ for testing/feedback

I'm planning to put this in official MPC CVS, unfortunately I can't do that right now because corecodec server has been down for serveral days.
Attached File(s)
Attached File  mpcdec.zip ( 45.56K ) Number of downloads: 1885
 
Go to the top of the page
+Quote Post
 
Start new topic
Replies
kuniklo
post Dec 12 2004, 17:34
Post #2





Group: Developer (Donating)
Posts: 193
Joined: 9-May 02
From: Emeryville, CA
Member No.: 2010



I've just finished a first rough port of this library to pure C, instead of C++, since a lot of people refuse to include C++ code in their apps.

It's currently available in a darcs repository at http://www.caddr.com/code/libmusepack/

I've started adding some documentation too, which can be found here:

http://www.caddr.com/code/libmusepack/docs/html/

I'd welcome any comments or suggestions. If you know of any project devs that would be interested in supporting musepack but have held off because of the C++ issue please let me know.

Thanks for the original work of putting this library together.
Go to the top of the page
+Quote Post
Tang
post Dec 14 2004, 18:55
Post #3





Group: Members (Donating)
Posts: 158
Joined: 27-January 04
Member No.: 11536



QUOTE (kuniklo @ Dec 12 2004, 08:34 AM)
I've just finished a first rough port of this library to pure C, instead of C++, since a lot of people refuse to include C++ code in their apps.

It's currently available in a darcs repository at http://www.caddr.com/code/libmusepack/

I've started adding some documentation too, which can be found here:

http://www.caddr.com/code/libmusepack/docs/html/

I'd welcome any comments or suggestions.  If you know of any project devs that would be interested in supporting musepack but have held off because of the C++ issue please let me know.

Thanks for the original work of putting this library together.
*

Hi Kuniklo,
Very nice indeed... I do know the Rockbox firmware is written in C... I guess they would be interested for their iRiverport...
I'm gonna notify the team and give them your link... Maybe editing the WIki over there with your link too... smile.gif
Regards,
Tanguy
Go to the top of the page
+Quote Post

Posts in this topic
- Peter   New portable Musepack decoder library   May 19 2004, 16:40
- - jarsonic   sweet, Peter! Should make it easier for (pote...   May 19 2004, 17:08
- - caligae   Not very portable at the moment though. No Makefi...   May 19 2004, 18:11
- - Peter   Package updated with stdafx.cpp/.h names changed t...   May 19 2004, 18:24
- - Gecko   Ah! Thx, Peter! Someone should show this ...   May 19 2004, 18:29
- - dev0   Already happened apparently: http://ipodlinux.sou...   May 19 2004, 18:33
- - xmixahlx   QUOTE (caligae @ May 19 2004, 09:11 AM)Not ve...   May 19 2004, 19:44
- - ak   Well, dsw2mak can be utilized for converting .dsw/...   May 19 2004, 20:53
- - soellman   i can verify that it works on mac osx 10.3.3.. now...   May 19 2004, 22:45
- - Tec9SD   Wow, Peter! I'm thoroughly impressed! ...   May 19 2004, 23:07
- - atici   That's great news indeed. We've had enough...   May 19 2004, 23:45
- - rjamorim   Is the integer part based on c.b.2000's intege...   May 20 2004, 00:11
- - Peter   Fixed-point mode has been added from scratch and i...   May 20 2004, 00:23
- - TrNSZ   I have now tested this code on PPC970, SPARC64, MI...   May 20 2004, 00:39
- - BetaBoy   zZzZzZz.... On CoreCodec.org.... we were in the mi...   May 20 2004, 01:39
- - caligae   QUOTE (TrNSZ @ May 20 2004, 01:39 AM)To whome...   May 20 2004, 08:56
- - Althalus   Thank you zZzZzZz.   May 20 2004, 09:31
- - Slo Mo Snail   QUOTE (TrNSZ @ May 20 2004, 01:39 AM)The code...   May 20 2004, 09:58
- - caligae   Doesn't work on Alpha. CODEProgram received s...   May 20 2004, 10:30
- - picard   thank zZzZzZz! i added this library to BetaPl...   Jun 30 2004, 10:08
- - Atlantis   QUOTE (picard @ Jun 30 2004, 11:08 AM)thank z...   Jun 30 2004, 10:16
- - harad   Using VC++ 3.0 [LOG]: --------------------Configu...   Aug 23 2004, 18:06
- - Axon   Excellent work! But I have a licensing nitpick...   Aug 23 2004, 18:23
- - Peter   I personally don't care whatever you do with t...   Aug 23 2004, 18:48
- - harad   i think that someone should merge the mpc decoder ...   Aug 24 2004, 16:41
- - Sebastian Andersson   Hello! Is there any way to get the bits per s...   Aug 28 2004, 21:46
|- - Sebastian Andersson   QUOTE (Sebastian Andersson @ Aug 28 2004, 10:...   Aug 29 2004, 13:06
|- - Sebastian Andersson   OK   Aug 29 2004, 13:11
- - dev0   Why would you want to know the BPS of the source f...   Aug 28 2004, 22:06
- - dev0   QUOTE (Garf)Why would the decoder care at all what...   Aug 29 2004, 13:09
- - Sebastian Mares   So, is it possible or not?   Sep 17 2004, 21:45
- - Tang   Great news, thanks Mr Peter! I wonder there i...   Oct 20 2004, 20:58
- - Tang   EDIT: i've just understood how the Rockbox WiK...   Nov 3 2004, 01:42
- - kuniklo   I've just finished a first rough port of this ...   Dec 12 2004, 17:34
|- - Tang   QUOTE (kuniklo @ Dec 12 2004, 08:34 AM)I...   Dec 14 2004, 18:55
- - picard   I updated the old library in BetaPlayer's MPC ...   Dec 14 2004, 18:37
|- - kuniklo   QUOTE (picard @ Dec 14 2004, 05:37 PM)I updat...   Dec 14 2004, 18:40
|- - Lefungus   QUOTE (picard @ Dec 14 2004, 07:37 PM)I updat...   Dec 14 2004, 18:45
- - picard   Yes, I'am using the C++ version and the SeekTa...   Dec 14 2004, 18:49
|- - Lefungus   Some files have huge frame dependencies. There...   Dec 14 2004, 18:56
- - Tang   The codec section of the Rockbox iRiverport wiki i...   Feb 12 2005, 17:54
- - xmixahlx   someone on teh MDT should submit info for the ...   Feb 14 2005, 20:47
|- - Tang   QUOTE (xmixahlx @ Feb 14 2005, 11:47 AM)someo...   Feb 14 2005, 20:50
|- - Florian   QUOTE (Tang @ Feb 14 2005, 08:50 PM)QUOTE (xm...   Feb 14 2005, 20:52
- - Tang   Thanks Ganymed...   Feb 15 2005, 18:43


Reply to this topicStart new topic
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:

 



RSS Lo-Fi Version Time is now: 21st September 2014 - 12:36