New portable Musepack decoder library, including fixed-point mode |
New portable Musepack decoder library, including fixed-point mode |
May 19 2004, 16:40
Post
#1
|
|
![]() Group: Admin Posts: 3226 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)
-------------------- This job would be great if it wasn't for the users.
|
|
|
|
![]() |
Dec 14 2004, 18:49
Post
#2
|
|
|
Group: Members Posts: 8 Joined: 30-June 04 From: Budapest Member No.: 14987 |
Yes, I'am using the C++ version and the SeekTable was in the old version (before it was renamed to libmusepack I think).
Any more info in which case does it cause artifacts? More states should be saved not just frame length to be able to properly seek? Because for a mediaplayer the current non SeekTable solution is not really acceptable. |
|
|
|
Dec 14 2004, 18:56
Post
#3
|
|
|
Group: Members Posts: 86 Joined: 10-November 02 Member No.: 3745 |
Some files have huge frame dependencies. There's no way to know how much, so the fast seeking can break on any file randomly. So although it can be made to seek correctly on most of the files, it's not error-proof.
-------------------- It's a 'Jump to Conclusions Mat'. You see, you have this mat, with different CONCLUSIONS written on it that you could JUMP TO.
|
|
|
|
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
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![]() ![]() |
|
Lo-Fi Version | Time is now: 22nd May 2013 - 10:08 |