Commit Graph

54 Commits

Author SHA1 Message Date
David Major
ed6ca74f4f Bug 1157835: Remove the MSVC_ENABLE_PGO flag from the build system. r=glandium 2015-04-27 19:59:27 -04:00
Karl Tomlinson
725e2a6db0 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
8fd95ad480 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
b1c489969b 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
a2f2e240cf 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
e2487a29c7 b=1042508 enable neon resampler optimizations r=padenot
--HG--
extra : rebase_source : fd984143b78ecf25a5158715dd8bed8df7398945
2014-07-22 16:51:08 +12:00
Karl Tomlinson
94cf83c83b 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
6858d0226c 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
944001f0dc 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
25a676b57c 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
8ff2a07095 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
baedae489b 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
d39213040a 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
e8d441e44e 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
83c550ad1b 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
81f2e4ebe8 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
fc92b87533 Bug 1008079 - Add cubeb_resampler.cpp to build files. r=glandium 2014-06-16 19:46:00 -04:00
Ehsan Akhgari
5ab76fe98e Bug 979118 - Add global MMX_FLAGS, SSE_FLAGS and SSE2_FLAGS variables; r=glandium 2014-03-19 21:55:00 -04:00
Chris Peterson
bb4fcdf415 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
398b183494 Bug 980211 - Backout part of cset f81c8b82ac70 for bad merge of libspeex moz.build. 2014-03-09 23:35:44 -07:00
Chris Peterson
810529ce40 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
f5dd4e8ef8 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
46f4a0eb11 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
2149abda39 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
fdd3247a81 Bug 874266 - Move all DEFINES that can be moved to moz.build. r=mshal 2013-11-27 22:55:07 +09:00
Mike Hommey
2f727b6d62 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
b038245b8d Bug 874266 - Move all DEFINES that can be moved to moz.build. r=mshal 2013-11-28 13:08:16 +09:00
Mike Hommey
931cb49886 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
f0d1cd1e10 Bug 939044 - Remove most definitions of MODULE. r=mshal 2013-11-19 11:47:39 +09:00
Mike Hommey
9c5c5d8f00 Bug 939039 - Remove now useless FORCE_STATIC_LIB definitions. r=gps 2013-11-19 11:47:28 +09:00
Mike Hommey
f81885e53b 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
e0bcd6aebc Bug 914270 - Part 1: Simple/Automated moves. r=joey 2013-10-24 18:51:00 +01:00
Mike Hommey
f1c0c07862 Bug 929905 - Consolidate sources in moz.build. r=gps 2013-10-25 08:23:05 +09:00
Mike Hommey
05b3f24e0e Bug 912293 - Remove now redundant boilerplate from Makefile.in. r=gps 2013-09-05 09:01:46 +09:00
Ms2ger
f8f8a40a0a Bug 906619 - Part a: Move unconditional CSRCS to moz.build; r=mshal 2013-08-22 08:56:02 +02:00
Ms2ger
19f3e043e3 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
17117d7406 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
8884e74ffe 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
ed6da1adac Bug 894941 - Import SSE-optimized routines for the speex resampler. r=ehsan 2013-07-26 18:46:32 +02:00
Brian O'Keefe
ed17339221 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
47d7af59de 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
24b4056720 Bug 846634 - Part 2: Move EXPORTS to moz.build; r=joey 2013-04-16 15:24:43 -04:00
Kyle Machulis
f5e3aadf0b Bug 855465 - Add emacs python mode comments to moz.build files; r=gps 2013-04-01 11:36:59 -07:00
Kyle Machulis
d2b6e6e01a 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
5663b98bc5 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
94ec89296d 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
ea1d9b8ba7 Bug 844654 - Part 2: Move MODULE to moz.build; rs=gps 2013-03-19 11:47:00 -07:00
Gregory Szorc
b3016f1aab Bug 784841 - Part 18u: Convert /media; r=glandium 2013-02-25 12:47:22 -08:00
Ralph Giles
bcb9a8c6b0 [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
bbc6fe639c 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