Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: So what's the state of Android's Opus decoder? (Read 6460 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

So what's the state of Android's Opus decoder?

Hey there, long time lurker, first time poster here.

I've ABXed my way around the block once or twice and I've come to the conclusion that for my own portable use, ~128kbps is totally fine. I've tried Opus, Apple AAC and the latest Lancer Vorbis build, and they all sounded good.
On my home setup, I may get the odd artifact here and there on certain rare problem tracks, but I do most of my portable listening on public transport, so it's really a non-issue. How do I choose between the codecs?

I play directly from my Motorola Moto G smartphone (Android 5.1) using GoneMad Music Player, so player support is equally good for all three. I'd like to use Opus because it's shiny and new, but I honestly don't hear much of a difference (if any at all) at 128kbps.
In the end, I think it comes down to battery life. Does anybody have conclusive info on Android power consumption between Opus, AAC and Vorbis? I've read that Opus decoding is still in its infancy and takes a lot more power than AAC and especially Vorbis. Does that still hold true?

Thanks.

So what's the state of Android's Opus decoder?

Reply #1
In the end, I think it comes down to battery life. Does anybody have conclusive info on Android power consumption between Opus, AAC and Vorbis?


Its going to depend on the device.  If they're all hardware accelerated there will be no difference.  If none are there will be no difference.  If some are and some aren't, there may be a difference.  You have to test your device to find out.  I doubt it matters very much though.

I've read that Opus decoding is still in its infancy and takes a lot more power than AAC and especially Vorbis. Does that still hold true?


Opus is pretty well optimized these days. 

Clip Zip in rockbox (ARM9E):

opus111b_128k.opus   490.68% realtime   Decode time - 35.85s   48.91MHz
vorbis_128k.ogg   475.53% realtime   Decode time - 36.99s   50.47MHz
nero_lc_128k.m4a   525.56% realtime   Decode time - 33.48s   45.66MHz


So pretty similar.  I think in theory it could be made a lot faster, but on very fast devices like a cell phone the difference is likely to be very marginal because the processors are so much faster. 


So what's the state of Android's Opus decoder?

Reply #2
I would push the bitrates lower until you find the threshold below which you just can't tolerate the artifacts. For me that's ~96kbps (q2) for Vorbis. I can handle Opus down to the ~80kbps range but in practice I stick to 96kbps with that as well since I'm a little more interested in using it's improvement over Vorbis to provide a little more quality safety margin than reducing the storage footprint. I use gonemad and haven't noticed a difference in battery life between opus and vorbis on my Galaxy S3 running Cyanogenmod 11.

I only use AAC when dealing with formats which are inherently patent encumbered anyway, such as mp4 movies.