The androidabi-4.8 toolchain we'd liek to use for B2G ICS builds cannot
compile this section of the opus source. Force-disable optimizations
for the offending code in order to avoid the ICE.
Update our opus implementation to a prerelease of 1.1. This
brings many performance and encoder improvements and we believe
it is stable enough to switch. This import does not enable any
of the new assembly optimizations.
The imported code is https://git.xiph.org/opus.git master
commit f2446c25c6519bae190152f7a579310b83dc43fd.
We read *_sources.mk from the opus source tree to get a list
of needed files. As of the 1.0.0 release, those files have
comment lines, which the previous sed one-liner failed to
strip out.
The earlier version attempted this with 's/^#.8//', but
the whole file has been read into memory so we can
remove the line continuation escapes. However, the
newlines are still present, so we can replace this
with 's/#[^\n]*\(\n\)/\1\g' Which replaces everything
from a comment character to a newline with a newline.
We have to capture and subsitute the final newline instead
of using a literal \n because portable sed doesn't expand
that character on the right-hand side. GNU sed will,
however.
This is the IETF Opus audio codec reference implementation.
The source was copied into the tree using the included
update.sh script, from a checkout of the v0.9.9 git tag,
which corresponds to the source code published in
https://tools.ietf.org/id/draft-ietf-codec-opus-11.txt