Help - Search - Members - Calendar
Full Version: AAC encoder or mp3 encoder?
Hydrogenaudio Forums > Lossy Audio Compression > AAC > AAC - General
JoeLee
Hi, all, We wanna port aac encoder or mp3 encoder on ARM926E, but not sure which one is better, i.e. which one is more faster ?? we wanna use aac encoder, maybe it is more useful; but is it much more complicated and cost much more CPU time???
who can give me any suggestion?
thank you!!
sinspawn
QUOTE(JoeLee @ Jul 15 2008, 01:05) *

Hi, all, We wanna port aac encoder or mp3 encoder on ARM926E, but not sure which one is better, i.e. which one is more faster ?? we wanna use aac encoder, maybe it is more useful; but is it much more complicated and cost much more CPU time???
who can give me any suggestion?
thank you!!

Without having any programming experience, the rule of thumb is that MP3 encoders are less demanding than AAC encoders. The AAC format however yields better compression results. So the question is which is more important, smaller files (AAC) or lesser CPU usage (MP3).
andyquan
QUOTE(JoeLee @ Jul 15 2008, 17:05) *

Hi, all, We wanna port aac encoder or mp3 encoder on ARM926E, but not sure which one is better, i.e. which one is more faster ?? we wanna use aac encoder, maybe it is more useful; but is it much more complicated and cost much more CPU time???
who can give me any suggestion?
thank you!!


Hi Joe,
Mostly it depends on your application requirement. You need to understand your usage then you would be able to figure out which one should be chosen smile.gif But still there can be some general guide.
As for the quality, it probably depends on which code base you use for porting. MP3 encoder has been there for much longer time while open source AAC encoder is more or less not very satisfactory. Though theoretically AAC has better compression ratio and better peceived sound quality, code base may not be that mature. I am interested which code base you plan to use in your implementation.
With regarding to performance, it depends on your expectation of the peceived sound quality. Even with the same code base, you can choose better quality or faster speed by changing the implementation of certain critical model. Or if you dont wanna change the algorithm, setting a medium or low bitrate can also help lower the CPU cost. Generally speaking, audio cost can be afforded by CPU like ARM9 series.

Regards,
Andy
Mike Giacomelli
Since theres already an open sourced ARM mp3 encoder, you're probably going to want to use that. I forget what its called, but its included with rockbox.
xmixahlx
there is also gabriel's shine mp3 encoder...

JoeLee
QUOTE(Mike Giacomelli @ Jul 15 2008, 21:08) *

Since theres already an open sourced ARM mp3 encoder, you're probably going to want to use that. I forget what its called, but its included with rockbox.


Really?? Was this ARM mp3 encoder assembly optimized??
Thank you, I will try to find this code.

QUOTE(andyquan @ Jul 15 2008, 19:11) *

QUOTE(JoeLee @ Jul 15 2008, 17:05) *

Hi, all, We wanna port aac encoder or mp3 encoder on ARM926E, but not sure which one is better, i.e. which one is more faster ?? we wanna use aac encoder, maybe it is more useful; but is it much more complicated and cost much more CPU time???
who can give me any suggestion?
thank you!!


Hi Joe,
Mostly it depends on your application requirement. You need to understand your usage then you would be able to figure out which one should be chosen smile.gif But still there can be some general guide.
As for the quality, it probably depends on which code base you use for porting. MP3 encoder has been there for much longer time while open source AAC encoder is more or less not very satisfactory. Though theoretically AAC has better compression ratio and better peceived sound quality, code base may not be that mature. I am interested which code base you plan to use in your implementation.
With regarding to performance, it depends on your expectation of the peceived sound quality. Even with the same code base, you can choose better quality or faster speed by changing the implementation of certain critical model. Or if you dont wanna change the algorithm, setting a medium or low bitrate can also help lower the CPU cost. Generally speaking, audio cost can be afforded by CPU like ARM9 series.

Regards,
Andy



Hi Andy

Thank you.
We prefer to choose AAC encoder,
but if AAC encoder demands much more CPU usage, such as twice as much, than mp3 encoder,
we have to give up AAC.

Regards.
Joe
JoeLee
Hi, All


I get the information from the address "http://www.mp3-tech.org/programmer/encoding.html" that there are many mp3 and aac encoder as following:
is anybody familiar with those encoders and give some comment??

1、 8Hz-mp3 (release 0.2b) : - Layer 3 - C - 277 k

Sources of a layer 3 only encoder derived from the ISO source code.


2、BladeEnc (release 0.92) : - Layer 3 - C - 205 k

Sources of a layer 3 only encoder derived from the ISO source code with some speed improvements.


3、FAAC encoder (release 0.60) : - AAC - C - 134 k

FAAC is an AAC encoder. It is the sequel of the MBSoft project, with an improved quality.


4、Gogo-no-Coda (release 3.01) : - Layer 3 - Asm/C - 130 k

Gogo is an mp3 encoder derived from LAME 3.88. It adds massive assembly optimisations for MMX, SSE, 3DNow! and Enhanced 3DNow!, an also multiprocessor support. With this you will have both high quality (provided by LAME) and high speed (provided by the Gogo modifications).


5、ISO mp3 sources (distribution 10) : - Layer 1/2/3 - C - 512 k

Sources of the Mpeg 1,2 layer 1,2,3 audio encoder and decoder distributed by the ISO group in charge of the MPEG.


6、Lame (release 3.92) : - Layer 3 - C/Asm - 948 k

Lame is an open source encoder wich features a new psychoacoustic model called GPsycho. It also brings joint stereo encoding and variable bitrate. Its quality is substantially better than ISO psy-model based encoders (such as Lame 2.1, BladeEnc, 8Hz-mp3, all free Windows encoders).


7、 MBSoft AAC Encoder (release 0.4) : - AAC - C - 130 k

A basic but clean implementation of AAC encoding. A good starting point for AAC encoding, way better than using the MPEG-4 ISO code.


8、MP3Stego (release 1.1.15) : - Layer 3 - C - 494 k

An encoder build around 8Hz that uses steganography to hide information inside mp3 files. The information is transparent during listening, but can still be retrieved from the file using the appropriate decoder.


9、Shine (release 0.1.4) : - Layer 3 - C - 73 k

This is a very minimalist, but clean implementation of MP3. It can be used as a starting point for an encoder.


10、Shine Fixed Point (release 0.1.2) : - Layer 3 - C/Asm - 39 k

This is a port of Shine to Arm and StrongArm fixed point. It provides a 30x speedup over the floating point release. It has been tested on Acorn.


11、Uzura3 (release 0.3w) : - Layer 3 - Fortran - 34 k

An interesting Layer3 implementation. A basic psychoacoustic model, not using all the possible features, but featuring VBR, middle-side stereo and mixed blocks. Quite clean, so it could be interesting even if you do not understant fortran.



Regard
Joe
Lear
QUOTE(Mike Giacomelli @ Jul 16 2008, 05:08) *
Since theres already an open sourced ARM mp3 encoder, you're probably going to want to use that. I forget what its called, but its included with rockbox.

The encoder in Rockbox is based on Shine. It is a fixed point version, with some assembler optimization for ColdFire CPUs.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2009 Invision Power Services, Inc.