From 80b8408c1466a245b5fdbb13df71d863a0dab292 Mon Sep 17 00:00:00 2001
This is no longer necessary now that we've updated to more recent
reference code and causes problems on some compilers.
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.
Enable MOZ_OPUS_FIXED inside the opus makefile if
MOZ_SAMPLE_TYPE_FLOAT32 is not defined. This is the
general proxy for floating point audio support in
other areas of the code.
We could have defined MOZ_OPUS_FIXED directly in
the configure script (and still could) but I liked
this better.
Update files to match the opus-1.0.0 source release.
This corresponds to the spec implementation included
in RFC 6716.
Changes from the previous in-tree version (draft-12):
- Add extern "C" protection on opus_multistream.h.
- Align to sizeof(void*) instead of 4 bytes.
- Copyright header updates for IETF publication.
- Minor documentation and whitespace fixes.
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.
Bug 716478 added MPL2 license headers to a couple of (headerless) files
in media/libopus. These files are third-party code and covered until the
associated BSD license of the upstream project.
Although the files in question are either source file listings, or
programmatically generated, and as such not copyrightable, labelling
them as MPL2 is technically incorrect.
--HG--
extra : rebase_source : 0d639832b481755e5385ae4465149dee5b2fc5ad
Updates our copy of the libopus reference implementation to
match http://tools.ietf.org/html/draft-ietf-codec-opus-12
This uses the v0.9.10/draft-12 tag from the upstream git repo.
Summary of changes:
- License header updates
- Warning fixes
- Comment improvements
This builds the opus reference library in media/libopus.
We support both fixed and floating point builds, switched
by MOZ_OPUS_FIXED. Currently this isn't defined by anything
but should probably offer a configure option, and default
to true on arm.
Thanks to Tim Terriberry for additional review.
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