Skip to main content
Topic: Where is the specification of APE bit stream syntax? (Read 4857 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Where is the specification of APE bit stream syntax?

Hi, guys,

I'm working on it, could give me some hint? or do I have to extract it from the souce code?

thanks a lot.

Where is the specification of APE bit stream syntax?

Reply #1
I don't know if I understood what you said, but if you want the command line parameters:

compress fast:          -c1000
compress normal:      -c2000
compress high:          -c3000
compress extra high:  -c4000
compress insane:      -c5000

decode: -d

verify: -v

You can work with the official Monkey's Audio frontend from the author's site or with the Speek's Multi frontend.
loquor mee menti: factus de materia, cinis elementi...

Where is the specification of APE bit stream syntax?

Reply #2
Maybe fancolumn means APE tags? 


Where is the specification of APE bit stream syntax?

Reply #4
Or he means the bit stream syntax specification?  fancolumn, can you clarify?

Chris

P.S.: I don't know if/where the bit stream syntax is published, but would be interested (too).
If I don't reply to your reply, it means I agree with you.

Where is the specification of APE bit stream syntax?

Reply #5
Or he means the bit stream syntax specification?  fancolumn, can you clarify?

Chris

P.S.: I don't know if/where the bit stream syntax is published, but would be interested (too).


Exactly! Buddies, I'm rewriting the decoder in C language in our DSP.

And I emailed to monkey's audio, but my email provider said "email@monkeysaudio.com, SMTP error, RCPT TO: 550 sorry, no mailbox here by that name (#5.1.1)"


Where is the specification of APE bit stream syntax?

Reply #7
Exactly! Buddies, I'm rewriting the decoder in C language in our DSP.


For embedded use, you most likely want to use the rockbox APE decoder.  It is a reimplementation of the official decoder licensed under the LGPL.  Its been extensively optimized for minimum memory use, and most of the internal filters have been carefully written in ARMv4/v5/v6/NEON as well as some x86 and Coldfire w/EMAC.  Which DSP are you trying to use?  Be aware that decoding highly compressed APE files is impossible on all but the fastest DSPs and desktop processors.

Edit:  http://www.rockbox.org/wiki/SoundCodecMonkeysAudio

FWIW I strongly recommend at least a 600+MHz ARMv6 class processor if you really want to decode highly compressed APE files.  Cortex with NEON would be strongly preferable.

Where is the specification of APE bit stream syntax?

Reply #8
Exactly! Buddies, I'm rewriting the decoder in C language in our DSP.


For embedded use, you most likely want to use the rockbox APE decoder.  It is a reimplementation of the official decoder licensed under the LGPL.  Its been extensively optimized for minimum memory use, and most of the internal filters have been carefully written in ARMv4/v5/v6/NEON as well as some x86 and Coldfire w/EMAC.  Which DSP are you trying to use?  Be aware that decoding highly compressed APE files is impossible on all but the fastest DSPs and desktop processors.

Edit:  http://www.rockbox.org/wiki/SoundCodecMonkeysAudio

FWIW I strongly recommend at least a 600+MHz ARMv6 class processor if you really want to decode highly compressed APE files.  Cortex with NEON would be strongly preferable.

Very useful information! Thank you!!! I'm going to explore it.

I try to implement it on MIPS32 4kec 189MHz.

full souce code link: http://download.rockbox.org/release/3.7/rockbox-3.7.7z

Where is the specification of APE bit stream syntax?

Reply #9
Exactly! Buddies, I'm rewriting the decoder in C language in our DSP.


For embedded use, you most likely want to use the rockbox APE decoder.  It is a reimplementation of the official decoder licensed under the LGPL.  Its been extensively optimized for minimum memory use, and most of the internal filters have been carefully written in ARMv4/v5/v6/NEON as well as some x86 and Coldfire w/EMAC.  Which DSP are you trying to use?  Be aware that decoding highly compressed APE files is impossible on all but the fastest DSPs and desktop processors.

Edit:  http://www.rockbox.org/wiki/SoundCodecMonkeysAudio

FWIW I strongly recommend at least a 600+MHz ARMv6 class processor if you really want to decode highly compressed APE files.  Cortex with NEON would be strongly preferable.

Very useful information! Thank you!!! I'm going to explore it.

I try to implement it on MIPS32 4kec 189MHz.


Thats a slow CPU to try APE decoding with, and we don't have any MIPS optimizations.  I think with a LOT of work you could get -c2000 files working, and maybe c3000 files if you are lucky.  But you'll never get higher compressed files running on such a slow CPU, and to get less compressed ones working you will need to write quite a bit of MIPS32 assembly. 

full souce code link: http://download.rockbox.org/release/3.7/rockbox-3.7.7z


If you want the source code, check it out of SVN.  Don't grab old source zips.  Grab the current code.

Where is the specification of APE bit stream syntax?

Reply #10
Thanks again! I'm working with the code from svn.

But another problem, I want to run the libdemac in a test wrapper in visual c, do you have any suggestion or resouces?

 

Where is the specification of APE bit stream syntax?

Reply #11
Exactly! Buddies, I'm rewriting the decoder in C language in our DSP.


For embedded use, you most likely want to use the rockbox APE decoder.  It is a reimplementation of the official decoder licensed under the LGPL.  Its been extensively optimized for minimum memory use, and most of the internal filters have been carefully written in ARMv4/v5/v6/NEON as well as some x86 and Coldfire w/EMAC.  Which DSP are you trying to use?  Be aware that decoding highly compressed APE files is impossible on all but the fastest DSPs and desktop processors.

Edit:  http://www.rockbox.org/wiki/SoundCodecMonkeysAudio

FWIW I strongly recommend at least a 600+MHz ARMv6 class processor if you really want to decode highly compressed APE files.  Cortex with NEON would be strongly preferable.

Very useful information! Thank you!!! I'm going to explore it.

I try to implement it on MIPS32 4kec 189MHz.


Thats a slow CPU to try APE decoding with, and we don't have any MIPS optimizations.  I think with a LOT of work you could get -c2000 files working, and maybe c3000 files if you are lucky.  But you'll never get higher compressed files running on such a slow CPU, and to get less compressed ones working you will need to write quite a bit of MIPS32 assembly. 

full souce code link: http://download.rockbox.org/release/3.7/rockbox-3.7.7z


If you want the source code, check it out of SVN.  Don't grab old source zips.  Grab the current code.


With rockbox souce code, With MIPS32 4kec in Simulator without ANY manual optimization.
-c2000, 50MHz cycles.
-c3000, 80MHz cycles.
-c4000, 2xxMHz cycles.
-c5000, 1GHz cycles.

The compiler uses madd, mult and so on to optimize filterings. Our mips has a 64-bit accumulator.
Almost no manual effort need.

 
SimplePortal 1.0.0 RC1 © 2008-2020