Commit Graph

53 Commits

Author SHA1 Message Date
Karl Tomlinson
9adf4489f8 b=1000044 use direct resampler for 16->44.1k r=jmspeex
This also changes the HUGEMEM test to be independent of quality.
|oversample| has a maximum value of 32, so we know that the interpolating
resampler will use less memory when st->den_rate > 441.

--HG--
extra : transplant_source : vl%C1d%A5%FB%3Cd%FBC%86%FD%26%EC%FB%C0%5C%26%7D%8C
2014-07-24 09:44:59 +12:00
Mike Hommey
fc99c53ae5 Bug 1041941 - Use templates for programs, simple programs, libraries and C++ unit tests. r=gps 2014-09-03 14:10:54 +09:00
Karl Tomlinson
d55bf5abac b=987679 update speex resampler to speexdsp d60e75b2 r=padenot
--HG--
extra : rebase_source : 8837b12e4e70daf5c089978079eeb5fa7bd278a4
2014-08-07 19:15:27 +12:00
Karl Tomlinson
999788eb34 b=995075 update speex resampler to speexdsp 769dc295 r=padenot
--HG--
extra : rebase_source : 786ee924d4d41745bfad84fbf9457c82db4158fb
2014-08-07 18:13:12 +12:00
Karl Tomlinson
e40b693b73 b=1042508 enable neon resampler optimizations r=padenot
--HG--
extra : rebase_source : fd984143b78ecf25a5158715dd8bed8df7398945
2014-07-22 16:51:08 +12:00
Karl Tomlinson
4cd53b7e4f b=1042508 remove : of empty Clobber asm argument r=padenot
https://gcc.gnu.org/onlinedocs/gcc/Extended-Asm.html#Extended-Asm says

  asm [volatile] ( AssemblerTemplate : [OutputOperands] [ : [InputOperands] [ : [Clobbers] ] ] )

which implies that Clobbers is optional even after the third colon, but
the gcc used for b2g_try_emulator_dep builds says

resample_neon.c: In function 'saturate_32bit_to_16bit':
resample_neon.c:50: error: expected string literal before ')' token

--HG--
extra : rebase_source : 6ca7768d5b30f67ff6827acc9a4fdc51a672bc1e
2014-07-22 20:10:36 +12:00
Karl Tomlinson
443ba0fbbc b=1042508 move resampler simd optimizations to separate translation units r=padenot
This ensures that code in resample.c will run on Intel x86 cpus even when SSE
support has been compiled, and will provide similarly for neon support when
enabled.

--HG--
rename : media/libspeex_resampler/sse-detect-runtime.patch => media/libspeex_resampler/simd-detect-runtime.patch
rename : media/libspeex_resampler/src/resample_neon.h => media/libspeex_resampler/src/resample_neon.c
rename : media/libspeex_resampler/src/resample_sse.h => media/libspeex_resampler/src/resample_sse.c
rename : media/libspeex_resampler/src/sse_detect.cpp => media/libspeex_resampler/src/simd_detect.cpp
rename : media/libspeex_resampler/src/sse_detect.h => media/libspeex_resampler/src/simd_detect.h
extra : rebase_source : bdf1ef791129dedeadce7369354a5992729a99b7
2014-07-23 21:49:04 +12:00
Karl Tomlinson
741069760c b=1042508 tie resampler sample type choice to MOZ_SAMPLE_TYPE_S16 r=padenot
When built with FIXED_POINT speex_resampler_process_float() assumes the
samples are in the range ±0x7fff and so Gecko instead uses ConvertAudioSamples
and speex_resampler_process_int().  This decision is based on
MOZ_SAMPLE_TYPE_S16.

--HG--
extra : rebase_source : 1e67861478026dfa65b61a31e3272970a7094094
2014-07-22 15:41:50 +12:00
Karl Tomlinson
5565b85921 b=1042508 include resample_neon.h from speexdsp 305e54ea r=padenot
--HG--
extra : rebase_source : effe9aa434298b0b49099b6809d506b92075ad1c
2014-07-21 17:08:00 +12:00
Karl Tomlinson
39582dd9ce b=1033122 be consistent about speex_resampler symbol visibility r=khuey
When "speex/speex_resampler.h" was included, another exported header (in
dist/include) would find the speex/speex_resampler.h in dist/include before
dist/system_wrappers.  Visibility of undefined symbols depended on the order
of includes.

This patch changes includes to <speex/speex_resampler.h> so that
WRAP_SYSTEM_INCLUDES works as expected but removes the wrapper when not using
GKMEDIAS_SHARED_LIBRARY.

--HG--
extra : rebase_source : 93ca1dbdd6b489647624326e78539f44c60d0b34
2014-07-02 14:21:34 +12:00
Karl Tomlinson
82e2b3354d b=1042504 use direct resampler for 48->44.1k r=padenot
Transplanted from patch by Gregory Maxwell <greg@xiph.org>
http://git.xiph.org/?p=opus-tools.git;a=commitdiff;h=f426ab52

--HG--
extra : rebase_source : 457a874135b4fea8649d72299be96a79e7dcda64
2014-07-21 16:34:26 +12:00
Karl Tomlinson
6d4723f7d2 b=1042504 update speex resampler to speexdsp 305e54ea r=padenot
Upstream SATURATE32PSHR changes conflict with Gecko's SSE runtime
detection patch.  That patch is updated to reduce deviation from
upstream.

--HG--
extra : rebase_source : fdaf355f802b944fcbe286e076ca19dc6bc33f80
2014-07-23 16:58:45 +12:00
Karl Tomlinson
f15c5047f8 b=1042504 switch speex resampler to speexdsp bbe7e099 r=padenot
This is the speexdsp revision most similar to what is currently in Gecko.

We'll want to keep the HUGEMEM variant that we currently have from
opus-tools, but that will be restored in a subsequent patch.

--HG--
extra : rebase_source : 0d0d881dc1c997a42c9386136f0b93fd15aa0331
2014-07-23 16:56:25 +12:00
Karl Tomlinson
65871f39fc b=1042504 correct strip prefix for applying outside-speex patch r=padenot
--HG--
extra : rebase_source : 946eef24f2f585f992065430188bdbd2aff523de
2014-07-21 15:22:25 +12:00
Karl Tomlinson
b2353db8a8 b=1033140 make speex_resampler declarations consistent with OUTSIDE_SPEEX implementation r=padenot
Instead of defining OUTSIDE_SPEEX and RANDOM_PREFIX everywhere
speex_resampler.h is included, it is easier to patch the header.

Symbol names in gkmedias symbols.def are updated now that RANDOM_PREFIX is
taking effect, and unused symbols are no longer exported.

--HG--
extra : transplant_source : sx%C9%ED%EB%E7%D8P%09%18%87%D4Oj%85%D5%25%C8%A5%01
2014-07-02 20:22:45 +12:00
JW Wang
c0e8ee9fea Bug 1008079 - Add cubeb_resampler.cpp to build files. r=glandium 2014-06-16 19:46:00 -04:00
Ehsan Akhgari
17c8d2bddd Bug 979118 - Add global MMX_FLAGS, SSE_FLAGS and SSE2_FLAGS variables; r=glandium 2014-03-19 21:55:00 -04:00
Chris Peterson
a79c47b2be Bug 980211 - Suppress clang and gcc warnings in third-party media code: speex, theora, and vpx. r=derf 2014-03-15 23:21:32 -07:00
Chris Peterson
a63a7bd9fa Bug 980211 - Backout part of cset f81c8b82ac70 for bad merge of libspeex moz.build. 2014-03-09 23:35:44 -07:00
Chris Peterson
1a0519acb1 Bug 980211 - Suppress clang warnings in third-party media code: speex, theora, and vpx. r=derf 2014-03-05 21:38:52 -08:00
Ehsan Akhgari
b49ab8c371 Bug 978594 - Part 3: Port some of the per-source flags to moz.build; r=glandium
--HG--
extra : rebase_source : fe4cd059eddda221af420e1517250772816d7ee8
2014-03-02 15:41:32 -05:00
Karl Tomlinson
7cb01e7526 b=913854 add speex_resampler_set_skip_frac_num r=jmspeex
This allows a client to align output samples consistently for independent
resampling of contiguous input buffers.

--HG--
extra : rebase_source : 58caba11ac7f78418b173a98556276d3b4644603
2014-02-27 11:44:40 +13:00
Karl Tomlinson
889f94ff35 b=973374 complete speex_resampler_reset_mem r=jmspeex
sample_frac_num is the array most likely to be non-zero after resampling a
previous stream, but the other arrays can also be left at non-zero values
in other situations.

--HG--
extra : rebase_source : dfd3974f051ff0b1794a937d712dda185352f7d5
2014-02-18 09:52:20 +13:00
Mike Hommey
9245936f8b Bug 874266 - Move all DEFINES that can be moved to moz.build. r=mshal 2013-11-27 22:55:07 +09:00
Mike Hommey
2b828323f2 Backout changeset 3fd4b546eed4 (bug 874266) and changeset a35d2e3a872f (bug 942043) for ASAN build bustage and Windows test bustage
--HG--
extra : amend_source : f20d09aeff1c8b5cbd0f1d24c7ce04e86f3aed1d
2013-11-28 14:24:05 +09:00
Mike Hommey
d210f8ff00 Bug 874266 - Move all DEFINES that can be moved to moz.build. r=mshal 2013-11-28 13:08:16 +09:00
Mike Hommey
a65383e1e9 Bug 939632 - Remove LIBRARY_NAME for leaf libraries. r=gps
Landing on a CLOSED TREE.
2013-11-19 11:50:54 +09:00
Mike Hommey
bb6779efe3 Bug 939044 - Remove most definitions of MODULE. r=mshal 2013-11-19 11:47:39 +09:00
Mike Hommey
57a2dfcb91 Bug 939039 - Remove now useless FORCE_STATIC_LIB definitions. r=gps 2013-11-19 11:47:28 +09:00
Mike Hommey
d7b6f95761 Bug 935881 - Use FINAL_LIBRARY for all (fake) libraries that end up linked in a single other library. r=gps 2013-11-19 11:47:14 +09:00
Cykesiopka
a3710e5c11 Bug 914270 - Part 1: Simple/Automated moves. r=joey 2013-10-24 18:51:00 +01:00
Mike Hommey
1d566f7586 Bug 929905 - Consolidate sources in moz.build. r=gps 2013-10-25 08:23:05 +09:00
Mike Hommey
f1cf3b4238 Bug 912293 - Remove now redundant boilerplate from Makefile.in. r=gps 2013-09-05 09:01:46 +09:00
Ms2ger
d62e2c8439 Bug 906619 - Part a: Move unconditional CSRCS to moz.build; r=mshal 2013-08-22 08:56:02 +02:00
Ms2ger
4922ccbc0a Bug 904831 - Part b: Move unconditional MSVC_ENABLE_PGO definitions into moz.build; r=gps 2013-08-22 08:56:01 +02:00
Paul Adenot
7ef8c7f9c6 Bug 903476 - Update libspeex to opus-tools version, as it is the current upstream. r=ehsan
--HG--
extra : rebase_source : 4dd23aa8f0e7f0919e1b8f37d9efce11e6b8d8cc
2013-08-12 14:40:49 +02:00
Paul Adenot
a4793c674a Bug 894941 - Patch the speex resampler to do runtime checks for SSE. r=ehsan,glandium 2013-07-26 18:46:32 +02:00
Paul Adenot
4642306714 Bug 894941 - Import SSE-optimized routines for the speex resampler. r=ehsan 2013-07-26 18:46:32 +02:00
Brian O'Keefe
5f8b5163e8 Bug 875934 - Move LIBRARY_NAME to moz.build (batch #1); r=mshal
--HG--
extra : rebase_source : 385d3fd65475ffc18ee44ae088753649470e214b
2013-06-17 15:21:01 -04:00
Ted Mielczarek
110919af49 bug 871712 - make MSVC PGO opt-in per-directory, and opt-in in the directories that matter. r=glandium 2013-05-16 09:33:26 -04:00
Mike Shal
77cdb6567d Bug 846634 - Part 2: Move EXPORTS to moz.build; r=joey 2013-04-16 15:24:43 -04:00
Kyle Machulis
5aa83c3e11 Bug 855465 - Add emacs python mode comments to moz.build files; r=gps 2013-04-01 11:36:59 -07:00
Kyle Machulis
c79ccc0693 Backout for changeset 03452b187c14 (Bug 855465) due to bustage on a CLOSED TREE; r=qdot 2013-03-29 15:12:58 -07:00
Kyle Machulis
a59d40f143 Bug 855465 - Add emacs python mode comments to moz.build files; r=gps
--HG--
extra : rebase_source : 004a756492323e1a049586e85b3be5037159df20
2013-03-29 13:56:18 -07:00
Gregory Szorc
09e7b06723 Bug 844654 - Part 3: Remove now empty Makefile.in files; rs=khuey
--HG--
extra : rebase_source : 8de9c7f68a953e574dda22f8c14c2b2ca60444f9
2013-03-19 18:49:07 -07:00
Mike Shal
9680b82df6 Bug 844654 - Part 2: Move MODULE to moz.build; rs=gps 2013-03-19 11:47:00 -07:00
Gregory Szorc
fbba84d69e Bug 784841 - Part 18u: Convert /media; r=glandium 2013-02-25 12:47:22 -08:00
Ralph Giles
69d98dedf2 [PATCH] Bug 829724 - Fix short buffer resampler returns. r=padenot,kinetik
From 763e746e97f0c234cea9ad1b674d406f55a2fb51 Mon Sep 17 00:00:00 2001
This applies a patch from the opus-tools fork of the speex
resampler, fixing an issue where the resampler could return
less that the requested number of samples.

https://git.xiph.org/?p=opus-tools.git;a=commitdiff;h=5adadc5
---
 media/libspeex_resampler/README_MOZILLA   |  3 +-
 media/libspeex_resampler/src/resample.c   | 12 ++++---
 media/libspeex_resampler/truncation.patch | 54 +++++++++++++++++++++++++++++++
 media/libspeex_resampler/update.sh        |  4 +++
 4 files changed, 67 insertions(+), 6 deletions(-)
 create mode 100644 media/libspeex_resampler/truncation.patch

--HG--
extra : rebase_source : db081699c3f914824abeb3bbf6563d459a690eff
2013-01-11 14:58:22 -08:00
Ehsan Akhgari
1d13e17a19 Correct the type names in speex_config_types.h; no bug, irc-r=padenot
Turns out that the compiler believes you when you say unsigned once.
No need to repeat yourself.

--HG--
extra : rebase_source : 979560fd47f7591d9cec0533a29462d3a25e3528
2013-01-11 11:44:09 -05:00
Ehsan Akhgari
5135f80640 Bug 818327 - Make libspeex's resampler usable; r=padenot
DONTBUILD since this is NPOTB
2012-12-04 19:59:05 -05:00