When Google released the code for Android Gingerbread in December, they
released source code for two new Apache 2.0 licensed audio encoders
provided by VisualOn, for AAC and AMR-WB.
These encoders are now wrapped up in standalone encoder libraries,
vo-aacenc and vo-amrwbenc, just as for opencore-amr (which included an
AMR-NB encoder and decoder, and an AMR-WB decoder) before.
These projects, while not sharing any code with opencore-amr, are quite
similar in their heritage and style (being a standalone wrapping of codecs
from another framework), and are hosted under the opencore-amr sourceforge
project for now. The release files are available at
https://sourceforge.net/projects/opencore-amr/files/, and the code is
available in git at
The same code is also available on github, at
https://github.com/mstorsjo/vo-amrwbenc for easier collaboration.
The vo-amrwbenc library provides a very minimal interface similar to what
the old, unredistributable libamrwb used, so any code that used that
library can easily be adapted to use vo-amrwbenc instead. The vo-aacenc
library, on the other hand, directly exposes the VisualOn audio codec
interface. Both libraries come with an optional example program showing
how to use their interfaces.
The code in these libraries are (just as for opencore-amr) relicensed
versions of 3GPP reference code, but all of it has, to the best of my
knowledge, been checked for legal correctness by Google.
In addition to the original reference code, they also contain some
optimizations for ARM, initially done by VisualOn, and further improved by
// Martin Storsjo