Re: iPhone SW Decoding Performance of MP3 vs AAC
Re: iPhone SW Decoding Performance of MP3 vs AAC
- Subject: Re: iPhone SW Decoding Performance of MP3 vs AAC
- From: William Stewart <email@hidden>
- Date: Fri, 9 Apr 2010 12:39:22 -0700
One thing: the process within which the decoding is done, depends on which API you are using. Then there are also other considerations to deal with - what can look like a CPU load, may not actually be a problem because the power usage for that mode is less than another mode. This is also further complicated by the fact that the clock speeds are varied (to conserve power), so any raw measurment of a "CPU time" is really only a very rough estimate, and is not really indicative of the true cost of a given process. I think there are some developer notes about understanding performance in the general developer guidelines that you should look at.
AAC was designed as an improved version of MP3 (done by the same core group of people with more contributors). One of the critical decisions this group took at the outset was to break compatibility wtih MP3 as this allowed them to address issues they otherwise felt would be detremintal to overall performance and quality. It was one of those I think rare instances when many companies pooled their resources to arrive at a good solution - in some ways you can think of AAC as MP3 done right. One of the issues that they dealt with was reducing the complexity of the decoder, so an AAC decoding process should always be more efficient than MP3 (but as Stephen pointed out, the level of code optimisation of a given implementation can affect this as well). The other issue they dealt with was the provision of tools to improve the efficiency of the encoder (better quality at lower bit rates). You can glean alot more information about AAC and MP3 on the web.
So, there isn't a simple answer to this.
HTH
Bill
On Apr 9, 2010, at 12:19 PM, McD wrote:
> Bill,
> I was really just curious as to what the performance difference is between everything for future reference in my development and I thought it would be a fun experiment. If it's very small, then I know it's something that I rarely need to worry about. Of course, now that it's more complex than I think, I'd really like to know so I can sort out any misconceptions I have. I appreciate any insight your can give, but if you're too busy and there are a lot of details, I can respect that.
>
> Regards,
> Paul
>
> --- On Thu, 4/8/10, William Stewart <email@hidden> wrote:
>
> From: William Stewart <email@hidden>
> Subject: Re: iPhone SW Decoding Performance of MP3 vs AAC
> To: "McD" <email@hidden>
> Cc: "CoreAudio API" <email@hidden>
> Date: Thursday, April 8, 2010, 7:16 PM
>
> but why?
> This changes from release to release
> this is more complicated to do than you think, and I really don't have the time to go through all the details unless you can give me a good reason too (sorry, I'm not trying to be difficult, but I just don'e understand the real problem that you are trying to solve).... So, perhaps you can think about this some more, explain what your design parameters, restrictions, etc, are, and we can give you a recommendation based on that.
>
> Thanks
>
> On Apr 8, 2010, at 3:42 PM, McD wrote:
>
> > Stephen,
> > Thanks for the feedback. My intent is to test decoding on iPhone OS specifically. My understanding is that AAC SW decoding is more efficient than MP3 on iPhone OS.
> >
> > Bill,
> > I plan to compare not only AAC vs. MP3, but also other data formats like LPCM, ima4, and a-law to get a list in order of performance efficiency on iPhone OS. I also want to benchmark the AAC and MP3 SW vs HW decoding to see how big the difference will be. My test results don't seem to make sense which makes me think my test doesn't make sense. I'm comparing the CPU Time taken by my app as reported by Instruments' Activity Monitor. Is there a better way to do it?
> >
> > Regards,
> > Paul
> >
> > --- On Thu, 4/8/10, William Stewart <email@hidden> wrote:
> >
> > From: William Stewart <email@hidden>
> > Subject: Re: iPhone SW Decoding Performance of MP3 vs AAC
> > To: "McD" <email@hidden>
> > Cc: "CoreAudio API" <email@hidden>
> > Date: Thursday, April 8, 2010, 4:14 PM
> >
> > Unless you really really need to be concerned about this, I would use the format that best suits your needs - by and large, AAC decoding will be more efficient in our implementations than MP3
> >
> > Bill
> >
> > On Apr 8, 2010, at 11:56 AM, Stephen Davis wrote:
> >
> > > Your test isn't really meaningful in the context of your opening statement.
> > >
> > > The statement that AAC decoding "should" be more efficient than MP3 is only relevant if the two SW decoders have received the same level of optimization tweaks. In other words, a plain vanilla AAC decoder will obviously be more expensive than a highly optimized MP3 decoder even though the latter's compression algorithm might indicate that it *should* be more expensive.
> > >
> > > I have no knowledge of the implementation details on the iPhone but it's certainly possible that most of the optimization work has been done on the hw-accelerated path for AAC decoding since that is the common case. In other words, it is perfectly reasonable for the SW AAC decoder to be less efficient than the SW MP3 decoder on iPhoneOS.
> > >
> > > What you have compared is two specific SW implementations, not the complexity of the compression algorithms.
> > >
> > > hth,
> > > stephen
> > >
> > > On Apr 8, 2010, at 11:43 AM, McD wrote:
> > >
> > >> Sorry. I meant decoding. Everything I wrote relates to decoding. No encoding was done. Any ideas?
> > >>
> > >> --- On Thu, 4/8/10, James McCartney <email@hidden> wrote:
> > >>
> > >> From: James McCartney <email@hidden>
> > >> Subject: Re: iPhone SW Decoding Performance of MP3 vs AAC
> > >> To: "McD" <email@hidden>
> > >> Cc: email@hidden
> > >> Date: Thursday, April 8, 2010, 1:15 PM
> > >>
> > >>
> > >>> My understanding is that AAC should be more efficient than MP3 for SW decoding.
> > >>> ...
> > >>> However, my results seem to indicate the opposite.
> > >>> ...
> > >>> I am getting 0.79-0.92 CPU time for AAC encoding and 0.65-0.68 for the mp3 encoding. This result indicates the opposite of what I've read is correct.
> > >>
> > >> ?
> > >> first you talk about decoding performance then you compare encoding performance.
> > >
> > > _______________________________________________
> > > Do not post admin requests to the list. They will be ignored.
> > > Coreaudio-api mailing list (email@hidden)
> > > Help/Unsubscribe/Update your Subscription:
> > >
> > > This email sent to email@hidden
> >
> >
>
>
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Coreaudio-api mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden